| Introduction [CLR 1-3, 6.1-6.3 and Append.A,B,C; B 1, 3] | |
| 1 | Course requirements, induction proofs [B 3.4] |
| Complexity and asymptotics [CLR 3; B 1.4; GT 1.2] | |
| Models of computation | |
| Examples of algorithm analysis | |
| Searching, sorting, lower bounds [CLR 6, 8; B 4-5] | |
| 2 | Searching - sequential, binary, interpolation [B 1.6] |
| Insertion sorts - straight, binary, Shellsort [B 4.2, 4.10] | |
| Lower bounds on sorting - inversions, travel, decision [CLR 8.1; B 4.7; GT 4.4] | |
| Heapsort [CLR 6; B 4.8] | |
| 3 | Distribution sorts - bucket, lexicographic [CLR 8.3; B 4.11; GT 4.5] |
| Lower bounds on selection [B 5.1-5.3, 5.5] | |
| *Review | |
| 4 | .........first exam |
| Divide-and-conquer [CLR 4, 7, 9; B 3.6-3.7; GT 5.2] | |
| Selection of median [CLR 9; B 5.4] | |
| 5 | DC paradigm - MaxMin |
| Integer multiplication [GT 5.2.2] | |
| DC Theorem [CLR 4.3; B 3.6-3.7; GT 5.2.1] | |
| Time analysis of Mergesort, Quicksort [CLR 7; B 4.4-4.6; GT 4.1.1, 4.3] | |
| Strassen matrix multiplication [CLR 4.2; B 12.3.4; GT 5.2.3], the skyline problem | |
| Dynamic programming [CLR 15; B 10; GT 5.3 ] | |
| 6 | Product of matrices, common subsequences [CLR 15.2-15.4; B 10.3; GT 5.3.1, 9.4] |
| Optimal binary search trees [CLR 15.5; B 10.4] | |
| 7 | Nim, *Fibonacci numbers |
| *Review | |
| .........second exam | |
| Graph algorithms [CLR 22-25; B 7-9] | |
| 8 | Minimum spanning trees - Prim, Kruskal, Boruvka, hybrid [CLR 23; B 8; GT 7.3.1-7.3.4] |
| Depth-first search - components, biconnectivity [CLR 22.3; B 7.6-7.7; GT 6.3.1-6.3.2] | |
| 9 | Transitive closure, all-pairs shortest paths [CLR 25.1-25.2; B 9; GT 7.2] |
| Single-source shortest path (Dijkstra) [CLR 24.2-24.3; B 4.3; GT 7.1.1] | |
| Other topics | |
| Pseudo-polynomial algorithms - 0/1 knapsack dynamic pgm'ng | |
| 10 | String matching - KMP algorithm [CLR 32.1, 32.4; B 11.3; GT 9.1.4] |
| *Probabilistic algorithms [CLR 5.3, 31.8] | |
| *Review | |
| .........final exam (cumulative) | |
You are responsible for having read CLR 1-10, 15, 22-25.2, 32.4
You are strongly urged to read Baase 1-4, 5.1-5.2, 6.2, 8.1-8.3