Additional reference (optional):
Cormen, Leiserson, Rivest, Stein. Introduction to Algorithms. 3e, MIT Press, 2009.
(Course outcomes) Upon the completion of this course, students will be able to:
| Aug 31 MinMax searching. The power of divide-conquer. Reading: notes-0, Chapter 0-1. | Sep 2 MinMax searching: Recurrence analysis. |
| Sep 7 Sorting: the good, the bad and the ugly (HW0). Reading: notes-1, Chapter 1. | Sep 9 Selection: linear-time (Blum-Floyd-Pratt-Rivest-Tarjan). Reading: Paper by Blum et al: [pdf]. |
| Sep 14 Recurrences. Summation. Asymptotics. Sorting lower bound. Reading: supplementary notes, Chapter 1. | Sep 16 More asymptotics. Reading: more notes, Chapter 1. |
| Sep 21 Constraint Satisfaction Problem (CSP): backtracking, random walk methods. Reading: Chapter 2. | Sep 23 Constraint Satisfaction Problem (CSP): Graph-theoretic methods (HW1). Reading: Chapter 2. |
| Sep 28 Dynamic programming: Longest common subsequence. Reading: Chapter 3. | Sep 30 Dynamic programming: Edit Distance. Reading: Chapter 3. |
| Oct 5 Dynamic programming: Viterbi (HW2). Reading: see class notes. | Oct 7 Hidden Markov Model: Viterbi (HW2). Reading: see class notes. |
| Oct 12 Greedy algorithms: activity scheduling. Optimality (exchange property). Reading: Chapter 4. | Oct 14 Greedy algorithms: optimality (exchange property). Reading: Chapter 4. |
| Oct 19 Compression: Huffman coding. Reading: Chapter 4. | Oct 21 Compression: Huffman coding. Lempel-Ziv. Reading: Chapter 4, class notes; also notes (P. Shor). |
| Oct 26 Lempel-Ziv (continued). Amortization: stack and vector example. Reading: see class notes. | Oct 28 Amortized analysis. Potential function. Splay trees. Reading: notes. |
| Nov 2 Graph theory. Adjacency list vs matrix. Breadth vs Depth First Search. Reading: Chapter 5,6. | Nov 4 Graph theory. Topological sorting (DFS). Strongly connected components (DFS). Shortest Paths (Dijkstra: greedy method). Reading: Chapter 5,6,8. |
| Nov 9 Maximum-Flow Minimum-Cut. Ford-Fulkerson: st-flow, st-cut, augmenting path. Reading: Chapter 10. | Nov 11 Maximum-Flow Minimum-Cut. Edmonds-Karp: shortest augmenting path. Applications: maximum bipartite-matching. Reading: Chapter 10,11. |
| Nov 16 Graph Algorithms. Reading: Chapter 5-8. | Nov 18 Graph Algorithms. Reading: Chapter 5-8. |
| Nov 23 Graph Algorithms. Reading: Chapter 5-8. | Nov 25 Thanksgiving break.
|
| Nov 30 Graph Algorithms. Reading: Chapter 5-8. | Dec 2 Test 2.
|
| Dec 2 NP-completeness: Cook-Levin theorem. Karp's list. CLIQUE, VERTEX COVER, MAXCUT. Reading: Chapter 12. | Dec 9 Approximation: MAXCUT. Reading: see class notes. |