Course Objectives
At the end of the course, students will
Course Description
This course focuses on the study of data structures, algorithms and program efficiency. Topics include: introduction to algorithm analysis (qualitative, quantitative); complexity of algorithms; measuring complexity (Big-O), time-space tradeoff, complexity classes: (P and NP); simple searching and sorting algorithms (linear and binary search, bubble sort, insertion sort, selection sort); complexity of searching and sorting algorithms; abstract data types (linked lists, queues, stacks, trees, and graphs); array and pointer implementations; advanced searching and sorting algorithms (shell, heap, merge, and quick sort).
Course Content