Date |
Topics |
Handouts/Homework |
8/7 |
Introduction and getting started |
- Notes
- Readings: CLRS 1, 2.1, 2.2.
- Review proof by induction.
|
8/9 |
Asymptotic notations and merge sort |
- Notes
- Readings: CLRS 2.3, 3
|
8/11 |
Solving recurrences and the master method |
|
8/14 |
Fast matrix multiplication, the master method and introduction to heap
sort |
- Notes
- Readings: CLRS 4.2, 6.1
|
8/16 |
Heapsort and priority queue |
|
8/18 |
Quicksort and its analysis |
|
8/21 |
Graph algorithms: basics |
|
8/23 |
Graph algorithms: minimum spanning trees |
|
8/25 |
Midterm |
|
8/28 |
Single-source shortest paths: Bellman-Ford and Dijkstra's algorithms |
- Notes
- Readings: CLRS 24.1-24.3
|
8/30 |
All-pairs shortest paths and transitive closure |
|
9/1 |
Union-find data structures |
- Notes
- Readings: CLRS 21.1-21.3
|
9/6 |
Dynamic programming (1) |
|
9/7 |
Dynamic programming (2) |
- Notes
- Readings: CLRS 15.4, 15.3 (optional) and 15.5 (optional).
|
9/11 |
NP-completeness (1) |
- Notes
- Readings: CLRS 34.1-34.3.
|
9/13 |
NP-completeness (2) |
- Notes
- Readings: CLRS 34.4 and 34.5 (optional).
|