Homework 1 | released on 1/11 | due on 1/18 |
Homework 2 | released on 1/18 | due on 1/25 |
Homework 3 | released on 1/25 | due on 2/1 |
Homework 4 | released on 2/1 | due on 2/8 |
Homework 5 | released on 2/8 | due on 2/15 |
Homework 6 | released on 2/15 | due on 2/27 |
Homework 7 | released on 2/27 | due on 3/6 |
Homework 8 | released on 3/6 | due on 3/22 |
Homework 9 | released on 3/22 | due on 4/3 |
Homework 10 | released on 4/3 | due on 4/17 |
Homework 11 | released on 4/17 | due on |
Homework 12 | released on 4/26 | Optional |
Lecture | Date | Topic | Scribe Notes | References |
Introduction | ||||
1 | We 1/11 | History of Algorithms; Asymptotic Notation; Worst-case Analysis | Notes | DPV: 0, 2 KT: 2 CLRS: 1, 2, 3, 4 |
Algorithm Design Techniques | ||||
Mo 1/16 | Martin Luther King, Jr. Holiday: No class | |||
2 | We 1/18 | Divide and Conquer: Binary Search, Quick Sort, Merge Sort, Integer Multiplication, Linear-time Selection. Guest lecturer on 1/18: Prof. Pankaj Agarwal |
Notes | DPV: 2 KT: 5 CLRS: 4, 7, 8, 9, 28 |
3 | Mo 1/23 | |||
4 | We 1/25 | Greedy Algorithms: Interval Scheduling, Interval Coloring, Fractional Knapsack, Huffman codes | Notes | DPV: 5 KT: 4 CLRS: 16 |
5 | Mo 1/30 | |||
6 | We 2/1 | Dynamic Programming: Longest Increasing Subsequence, 0-1 Knapsack, Maximal Matching on Trees, Maximal Independent Set on Trees |
Notes | DPV: 6 KT: 6 CLRS: 15 |
7 | Mo 2/6 | |||
Graph Algorithms | ||||
8 | We 2/8 | Graph Representations and Traversal DFS, BFS and their applications From BFS to shortest path |
Notes | DPV: 3, 4.6, 6.6 KT: 3 CLRS: 22 |
9 | Mo 2/13 | |||
10 | We 2/15 | |||
11 | Mo 2/20 | |||
We 2/22 | Midterm 1: Lectures 1-11 | |||
12 | Mo 2/27 | Shortest Path: Dijkstra's and Bellman-Ford; MST properties | Notes1 | DPV: 4 KT: 24, 25 |
Notes2 | ||||
13 | We 3/1 | MST: Prim's and Kruskal's, The Union-Find Data Structure | Notes1 | KT: 23 |
Notes2 | ||||
14 | Mo 3/6 | The Union-Find data structure and amortized analysis Network Flows |
Notes | KT: 7 CLRS: 26 |
15 | We 3/8 | |||
Tu 3/13, Th 3/15 | Spring Break: No Class | |||
16 | Mo 3/20 | Maxmimum flow and minimum cut | Notes | KT: 7 CLRS: 26 |
Randomized Algorithms | ||||
17 | We 3/22 | Monte Carlo algorithms | Notes | DPV: virtual chapter KT: 13 CLRS: 5, 11 |
18 | Mo 3/27 | Las Vegas algorithms | Notes | DPV: virtual chapter KT: 13 CLRS: 5, 11 |
19 | Mo 3/29 | Hashing (and preliminaries of prime field) | Notes | DPV: virtual chapter KT: 13 CLRS: 5, 11 |
20 | Mo 4/3 | |||
Linear Programming | ||||
20 | Mo 4/3 | LP Formulations, Integer Linear Program | Notes | DPV: 7 CLRS: 29 |
21 | We 4/5 | LP Duality | Notes | DPV: 7 CLRS: 29 |
22 | Mo 4/10 | LP Algorithms, Simplex Algorithms, Separation Oracles | DPV: 7 CLRS: 29 |
|
We 4/12 | Midterm 2: Lectures 12-22 | |||
23 | Mo 4/17 | Separation Oracles, Ellipsoid algorithms | Notes | DPV: 7 CLRS: 29 |
24 | We 4/19 | LP continued: Separation Oracles, Integrality Gap, Interior Point Methods | Notes | DPV: 7 CLRS: 29 |
Intractability | ||||
25 | Mo 4/24 | Complexity: P, NP and NP-Hardness, Polynomial time reduction | Notes | DPV: 8, 9 KT: 8, 11 CLRS: 34, 35 |
26 | We 4/26 | Approximation algorithms | Notes | DPV: 8, 9 KT: 8, 11 CLRS: 34, 35 |
Mo 5/1 | Final Exam: All Lectures Time: May 1, 9am-12pm Location: French Science 2231 |
Discussion | Date | Topic | Discussion Notes |
1 | Fr 1/13 | Induction, big-Oh notation | Notes |
2 | Fr 1/20 | Divide and Conquer | Notes |
3 | Fr 1/27 | Greedy Algorithms | Notes |
4, 5 | Fr 2/3, Fr 2/10 | Dynamic Programming | Notes |
6 | Fr 2/17 | DFS and BFS | Notes |
7 | Fr 2/24 | Shortest Path | Notes |
8 | Fr 3/24 | Probability | Notes |
9 | Fr 3/31 | Randomized Quicksort and Collision Handling | Notes |
10 | Fr 4/7 | LP Duality | Notes |
11 | Fr 4/14 | LP Separation Oracle example | Notes |