Syllabus
Chapter 1: Foundations
Reference: (Cormen et al., 2022, Chapters 1, 2, 3, 4)
- First examples
- Run-time analysis
- -notation
- Divide and conquer
Chapter 2: Sorting and Order Statistics
Reference: (Cormen et al., 2022, Chapters 7, 8, 9)
- Comparison sorts
- Counting Sort, Radix sort
- Median and order statistics
Chapter 3: Advanced Design and Analysis Techniques
Reference: (Cormen et al., 2022, Chapters 14, 15, 16)
- Dynamic Programming: RodCutting, Longest Common Subsequence, Knapsack
- Greedy: Interval scheduling, Huffman Code
Chapter 4: Graph Algorithms
Reference: (Cormen et al., 2022, Chapters 22, 23, 24, 25)
- Graph: basics
- Classical algorithms: Kruskal, Prim, Dijkstra, Floyd-Warshall, etc.
- P vs NP, NP completeness