Introduction [GT 1 and Appendix A; CLRS 1-3, 6.1-6.3 and Append.A,B,C] | |
1 | Course requirements, induction proofs |
Complexity and asymptotics [GT 1.1; CLRS 3] | |
Models of computation | |
Examples of algorithm analysis | |
Searching, sorting, lower bounds [GT 5; CLRS 6, 8] | |
2 | Searching - sequential, binary, interpolation [GT 3.1] |
Insertion sorts - straight, binary, Shellsort | |
Lower bounds on sorting - inversions, travel, decision [GT 8.3; CLRS 8.1] | |
3 | Heapsort [GT 5.3-5.4; CLRS 6] |
Distribution sorts - bucket, lexicographic [GT 9.1; CLRS 8.3] | |
*Review | |
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, Quicksort [GT 8.1-8.2; CLRS 7] | |
Strassen matrix multiplication [GT 11.3; CLRS 4.2] | |
*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 | |
.........second exam | |
Graph algorithms [GT 13-15; CLRS 22-25] | |
8 | Minimum spanning trees - Prim, Kruskal, Boruvka, hybrid [GT 15; CLRS 23] |
Breadth-first search - components [GT 13.3; CLRS 22.2] | |
Depth-first search - biconnectivity [GT 13.2, 13.5; CLRS 22.3] | |
9 | DAGS - Topological Sorting, Bellman-Ford shortest path algorithm [GT 14.3; CLRS 24.1] |
Single-source shortest path (Dijkstra) [GT 14.2; CLRS 24.2-24.3] | |
Transitive closure (Warshall), all-pairs shortest paths [GT 13.4.2, 14.5; CLRS 25.1-.2] | |
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] | |
*Probabilistic algorithms [CLRS 5.3, 31.8] | |
*Review | |
11 | .........final exam (cumulative) |
You are responsible for having read GT 1-3, 5, 8-9, 11-15