Course Information

another search

Number:CS216
Name:Data Structures & Algorithms
Description:This course introduces students to basic data structures and their applications such as: linear structures (arrays, lists, stacks, queues) and non-linear structures (trees, graphs); sequential and linked storage representation methods; sorting and searching algorithms; and techniques of algorithmic analysis. This course covers measuring algorithmic complexity (O-Notation); searching and sorting algorithms and their complexity; tree and graph algorithms and their complexity; classes of algorithms, such as divide-and-conquer, backtracking, greedy, probabilistic, etc. and computational complexity; the classes P and NP.
Credit(s):3
Offered (DAY schedule):
Instructor Permission Required:N
Pre-Requisite(s):
CS218 or CS225

Course Objectives

Understand how to analyze algorithms
"Be able to apply the following basic data structures (among others) to solve problems: Stacks, Queues, Lists, and Trees.
"Understand how merge, quick, bucket, and radix sorts work.
"Be able to apply the greedy method, divide-and-conquer, and dynamic programming to algorithm design.

Books Previously Used in this Course

Term Year Title ISBN Author Edition Publisher
S 2012 Data Structures Using C++ 0324782012 Malik 2 Cengage Learning
F 2010 ALGORITHM DESIGN 0-471-38365-1 GOODRICH WILEY
S 2008 ALGORITHM DESIGN GOODRICH WILEY
S 2006 ALGORITHM DESIGN GOODRICH 2
S 2003 Algorithm Design 0-471-38365-1 Goodrich 1 Wiley
Thomas College. Beyond Education.