CS401 - Computer Algorithms
Textbook
Computer Algorithms: Introduction to Design and Analysis, Third Edition, by Sara Baase and Allen Van GelderDescription
The course covers general techniques for designing computer algorithms, as well as specific algorithms for a number of important computations (sorting, searching, shorted paths in graphs, etc.).Lecture Notes (Class site)
- Examples of Iterative and Recursive Algorithms
- More examples on Iterative and Recursive Algorithms
- Recurrences - approximating floor(n/2) and ceil(n/2) by n/2
- Sorting Algorithms - Stability
- Sorting Algorithms - Taking Advantage of Order Present
- Quicksort - An Example
- Quicksort
- Improvements to Quicksort
- Straight Insertion Sort - An Example
- Merging and Mergesort
- Heaps
- Heapsort
- Height of a Binary Search Tree
- Heapsort
- Rotations of Binary Trees
- Red-Black Trees
- Graphs and Depth-First-Search
- Prim's and Dijkstra's algorithms