CSOR 4231
Fall 2007

Analysis of Algorithms

Professor Cliff Stein

Syllabus (Tentative)

Class Number Date Topics Reading HW Assigned HW Due
1 9/5 Introduction, Strassen's Matrix Multiplication Algorithm Skim CLRS 1-3 , 28.2 HW 1
2 9/10 Asymptotic notation CLRS 4
3 9/12 Recurrences CLRS 4
4 9/17 Heapsort, Loop invariants, CLRS 6, 8.1
5 9/19 Lower bounds for sorting, Counting Sort, Radix Sort, Deterministic Selection CLRS 8.2-8.3, 9.1, 9.3 HW 2 HW 1
6 9/24 Randomized Analysis CLRS 5
7 9/26 Indicator Random Variables CLRS 5
8 10/1 Quicksort, Randomized Selection CLRS 7, 9.2
9 10/3 Skip Lists Read this paper HW 3 HW 2
10 10/8 Dynamic Programming CLRS 15
11 10/10 Dynamic Programming CLRS 15
12 10/15 Dynamic Programming CLRS 15
13 10/17 Greedy Algorithms CLRS 16 HW 4 HW 3
14 10/22 Greedy Algorithms/Amortized Analysis CLRS 16, 17
15 10/24 Amortized Analysis CLRS 17
16 10/29 Disjoint Sets CLRS 21 Midterm out HW 4
17 10/31 Graph Algorithms, BFS, DFS, Topological Sort CLRS 22.1-22.4
11/2 Midterm due
18 11/7 Strongly Connected Components, Minimum Spanning Trees CLRS 22.5, CLRS 23 HW 5
19 11/12 Single-source shortest paths, relaxation, Bellman-Ford CLRS 24.1, 24.5
20 11/14 Shortest paths in dags, Dijkstra's algorithm, All pairs shortest paths CLRS 24.2-24.3, CLRS 25 HW 6 HW 5
21 11/19 Maximum Flows 26.1 - 26.3
22 11/26 NP-completeness CLRS 34
23 11/28 NP-completeness CLRS 34 HW 7 HW 6
24 12/3 NP-completeness CLRS 34
25 12/5 Approximation Algorithms CLRS 35
26 12/10 Approximation Algorithms CLRS 35 HW 7
12/19 9-12 A.M., 501 Schermerhorn Final
CLRS = Introduction to Algorithms, 2nd edition , by Cormen, Leiserson, Rivest and Stein