| Introduction [GT 1 and Appendix A; CLRS 1-3, 6.1-6.3 and Append.A,B,C] | |
| 1 | Course requirements |
| Complexity and asymptotics [GT 1.1; CLRS 3] | |
| Models of computation | |
| Examples of algorithm analysis | |
| Review HW #1 | |
| Searching, sorting, lower bounds [GT 5; CLRS 6, 8] | |
| 2 | Searching - sequential, binary, interpolation [GT 3.1] |
| Insertion sorts - straight, binary | |
| Lower bounds on sorting - inversions, decisions [GT 8.3; CLRS 8.1] | |
| * Time complexity analysis - expected worst case | |
| Review HW #2 | |
| * Avg case analysis for binary search of an ordered list | |
| 3 | Heapsort [GT 5.3-5.4; CLRS 6] |
| Distribution sorts - bucket, lexicographic [GT 9.1; CLRS 8.3] | |
| Review HW #3 | |
| * Shellsort | |
| 4 | .........first exam |
| Divide-and-conquer [GT 8, 9, 11; CLRS 4, 7, 9] | |
| Selection of median [GT 9.2; CLRS 9] | |
| DC paradigm - Weighted median [GT 9.3], MaxMin | |
| Integer multiplication [GT 11.2] | |
| 5 | DC Theorem [GT 11.1; CLRS 4.3] |
| Time analysis of Mergesort, Heap Construction [GT 8.1; CLRS 7] | |
| Strassen matrix multiplication [GT 11.3; CLRS 4.2] | |
| Review HW #4 | |
| * Skyline problem | |
| Dynamic programming [GT 12; CLRS 15] | |
| Product of matrices [GT 12.1; CLRS 15.2] | |
| 6 | Common subsequences [GT 12.5; CLRS 15.4] |
| Optimal binary search trees [CLRS 15.5] | |
| 7 | Nim, Fibonacci numbers |
| Review HW #5 | |
| .........second exam | |
| Graph algorithms [GT 13-15; CLRS 22-25] | |
| 8 | Minimum spanning trees - Prim, Kruskal, Boruvka [GT 15; CLRS 23] |
| Breadth-first search - components [GT 13.3; CLRS 22.2] | |
| Depth-first search [GT 13.2, 13.5; CLRS 22.3] | |
| DAGS - Topological Sorting [GT 14.3; CLRS 24.1] | |
| 9 | Review HW #6 |
| Transitive closure (Warshall), all-pairs shortest paths [GT 13.4.2, 14.5; CLRS 25.1-.2] | |
| Dijkstra and Bellman-Ford shortest path algorithms [GT 14.2-14.3; CLRS 24.1-24.3] | |
| Review HW #7 | |
| Other topics | |
| 10 | Pseudo-polynomial algorithms - 0/1 knapsack dynamic pgm'ng [GT 12.6] |
| String matching - KMP algorithm [GT 23.3; CLRS 32.1, 32.4] | |
| Sweep stack algorithms - rectangle in histogram, matrix, visible lines | |
| * Sweep list algorithms - LIS | |
| Review HW #8 | |
| 11 | .........final exam (cumulative) |
You are responsible for having read GT 1-3, 5, 8-9, 11-15