| Date
| Topic
| Reading
|
1 |
9/4 |
Introduction:
administrativia,
course overview,
stable marriage. |
Ch 1-2 |
2 |
9/6 |
Divide and Conquer:
mergesort,
lower bound for sorting,
counting inversions,
finding a closest pair of points. |
§5.1-4 & H |
3 |
9/11 |
Divide and Conquer:
integer multiplication,
selection. |
§5.5 & H |
4 |
9/13 |
Algorithmic Graph Primitives:
BFS,
DFS.
| Ch 3 |
5 |
9/18 |
Greed: shortest paths
(Dijkstra).
|
§4.4 |
6 |
9/20 |
Greed: minimum spanning trees
(Prim,
Kruskal).
|
§4.5-6 |
7 |
9/25 |
Greed:
interval
scheduling, minimizing lateness. |
§4.1-2 |
8 |
9/27 |
Greed:
Huffman codes. |
§4.8 |
9 |
10/2 |
Dynamic Programming: weighted interval scheduling. |
§6.1-2 |
10 |
10/4 |
Dynamic Programming: knapsack,
RNA secondary structure. |
§6.4-5 |
11 |
10/9 |
Dynamic Programming: sequence alignment. |
§6.6-7 |
12 |
10/11 |
Dynamic Programming: shortest paths. |
§6.8,10 |
13 |
10/16 |
Network Flow: max-flow and min-cut. |
§7.1-2 |
14 |
10/18 |
Network Flow:
Ford-Fulkerson. |
§7.1 |
15 |
10/23 |
Network Flow: path augmentation using scaling, Edmonds-Karp. |
§7.3 & H |
16 |
10/25 |
Network Flow: bipartite matching, edge-disjoint paths. |
§7.5-6 |
17 |
10/30 |
Network Flow: applications of max-flow. |
§7.7-9 |
18 |
11/1 |
Network Flow: applications of min-cut. |
§7.10-11 |
19 |
11/6 |
Randomness: probability basics, global minimum cut. |
§13.12,2 |
20 |
11/8 |
Randomness: random variables, expectation. |
§13.3 |
21 |
11/13 |
Randomness: selection, sorting, hashing. |
§13.5-6 |
22 |
11/15 |
Randomness: dictionary problem, finding a closest pair of points. |
§13.6-7 |
23 |
11/20 |
NP-Completeness: reductions. |
§8.1-2 |
24 |
11/27 |
NP-Completeness: efficient verification. |
§8.3 |
25 |
11/29 |
NP-Completeness: satisfiability. |
§8.4 |
26 |
12/4 |
NP-Completeness: graph coloring, subset sum. |
§8.7-8 |
27 |
12/6 |
NP-Completeness: more examples. |
§8.5-6,10 |
28 |
12/11 |
NP-Completeness: how to deal with it. |
§10.1-2, 11.6 |
29 |
12/13 |
Divide and Conquer: Fast Fourier Transform. |
§5.6 |