Lect | Date | Topic | Notes | References | |
1 | 08/26 | Basic paradigms History of Algorithms Asymptotic notation Worst-case analysis Recurrence relations Euclid's GCD algoritm |
Notes | DPV: 0, 2 KT: 2 CLRS: 1, 2, 3, 4 |
|
2 | 08/28 | Basic paradigms Divide and conquer Quick sort Merge sort |
Notes | DPV: 2.3 KT: 5.1 CLRS: 2.3, 7 |
|
3 | 09/02 | Basic paradigms Linear-time selection/median finding Strassen's matrix multiplication |
Notes | DPV: 2.4, 2.5 KT: 13.5 CLRS: 9, 28.2 |
|
4 | 09/04 | Graph Algorithms Graph representations Depth First Search |
Notes | DPV: 3.1, 3.2, 3.3 KT: 3.1, 3.2, 3.3 CLRS: 22.1, 22.3 |
|
5 | 09/09 | Graph Algorithms Testing acyclicity Topological sorting (linearization) of a DAG (Strongly) connected components |
Notes | DPV: 3.3, 3.4 KT: 3.5, 3.6 CLRS: 22.4, 22.5 |
|
6 | 09/11 | Graph Algorithms Breadth First Search (Non-negative) edge lengths: Dijkstra |
Notes | DPV: 4.1, 4.2, 4.3, 4.4, 4.5 KT: 3.2, 3.3, 3.4, 4.4 CLRS: 22.2, 24.3 |
|
7 | 09/16 | Graph Algorithms Negative edge lengths: Bellman-Ford All-pairs shortest paths |
Notes | DPV: 4.6, 6.6 KT: 6.8 CLRS: 24.1, 25 |
|
8 | 09/18 | Basic paradigms Greedy algorithms Fractional knapsack Minimum spanning tree: Kruskal, Prim |
Notes | DPV: 5 KT: 4 CLRS: 16, 23 |
|
9 | 09/23 | Basic paradigms Dynamic programming Shortest path in a DAG Longest increasing subsequence 0-1 knapsack Independent Set in Trees |
Notes | DPV: 6 KT: 6 CLRS: 15 |
|
10 | 09/25 | Graph Algorithms Network flows Augmenting paths |
Notes | DPV: 7.2 KT: 7.1 CLRS: 26.1, 26.2 |
|
11 | 9/30 | Graph Algorithms Minimum cuts Scaling algorithms |
Notes | DPV: 7.2 KT: 7.2, 7.3 CLRS: 26.2 |
|
12 | 10/02 | Graph Algorithms Applications of flows Bipartite matching Course selection |
Notes | DPV: 7.3 KT: 7.5, 7.11 CLRS: 26.3 |
|
13 | 10/07 | Data structures Binary search trees Height-balanced trees |
Notes | CLRS: 12, 13 | |
10/09 | Quiz 1: Lectures 1-13 (20% credit) | ||||
10/14 | Fall break: no class | ||||
14 | 10/16 | Guest Lecturer: Kyle Fox Data structures Computational geometry Convex hull: Graham scan, Jarvis march |
Notes | CLRS: 33 | |
15 | 10/21 | Data structures Amortization Potential functions Binary counters |
Notes | CLRS: 17 | |
16 | 10/23 | Data structures Union-find |
(see Lecture 15) | CLRS: 21 | |
17 | 10/28 | Randomized Algorithms Coupon Collector Resource Contention |
Notes | DPV: virtual chapter KT: 13 CLRS: 5, 11 |
|
18 | 10/30 | Randomized algorithms Monte Carlo: minimum cut |
Notes | DPV: virtual chapter KT: 13 CLRS: 5, 11 |
|
19 | 11/04 | Randomized Algorithms Las Vegas: quicksort Hashing |
Notes | DPV: virtual chapter KT: 13 CLRS: 5, 11 |
|
20 | 11/6 | Linear programming Examples of LP formulations LP Algorithms |
Notes | CLRS: 29 | |
21 | 11/11 | Linear Programming Separation oracles LP Duality |
Notes | CLRS: 29 | |
22 | 11/13 | Linear Programming Weak and Strong LP Duality Flow cut duality |
Notes | CLRS: 29 | |
23 | 11/18 | Coping with impossibility Complexity classes: P and NP Polynomial reductions |
Notes | DPV: 8 KT: 8 CLRS: 34 |
|
24 | 11/20 | Coping with impossibility Polynomial reductions Vertex cover (greedy) |
Notes | DPV: 8, 9 KT: 8, 11 CLRS: 34, 35 |
|
25 | 11/25 | Coping with impossibility Greedy algorithm (set cover) PTAS (0-1 Knapsack) |
Notes | DPV: 9 KT: 11 CLRS: 35 |
|
11/27 | Thanksgiving break: no class | ||||
26 | 12/2 | Coping with impossibility LP rounding (vertex cover, set cover) |
Notes | KT: 11 CLRS: 35 |
|
12/04 | Quiz 2: Lectures 14-26 (20% credit) | ||||
12/13 | Final Exam: All lectures 7:00-10:00pm (30% credit) |