Lectures
Lecture 1: Welcome / Asymptotic Analysis
- Readings (optional): AI(1) Chapter 2.
- Slides: [PDF]
- Recording: On Canvas.
Lecture 3: k-Select / Radix Sort and the Limits of Sorting
- Readings (optional): AI(1) Chapters 5.6, 6.3, 6.4
- Slides: [PDF]
- Recording: On Canvas.
Lecture 4: Randomized Algorithms and QuickSort / Karger's Algorithm
- Readings (optional): AI(1) Chapter 5.1-5.5. Unfortunately, Karger’s Algorithm is not covered in AI.
- Slides: [PDF]. Note the red text in slides 27-29, which turns the analysis into what it was supposed to be :\
- Recording: On Canvas.
Lecture 5: Universal Hashing / Bloom Filters
- Readings (optional): AI(2) Chapter 12.1-12.3, 12.5
- Slides: [PDF].
- Recording: On Canvas.
Lecture 6: Heaps and Priority Queues / Self-Balancing Binary Trees
- Readings (optional): AI(2) Chapters 10.1-10.3, 10.5, 11.1-11.2, 11.4
- Slides: [PDF].
- Recording: On Canvas.
Lecture 7: Graphs, BFS / Dijkstra's
- Readings (optional): AI(2) Chapters 7, 8.1-8.3, 9
- Slides: [PDF].
- Recording: On Canvas.
Lecture 8: DFS and Topological Sort / Kosaraju's Algorithm
- Readings (optional): AI(2) Chapter 8.4-8.6
- Slides:
- Recording: On Canvas.
Lecture 9: Midterm Review
- Slides: [PDF].
- Recording: On Canvas.
Lecture 10: Bellman-Ford / Dynamic Programming
- Readings (optional): AI(3) Chapters 18.1-2, 16.4
- Slides: [PDF].
- Recording: On Canvas.
Lecture 11: Edit Distance, Knapsack
- Readings (optional): AI(3) Chapter 16.5.
- Slides:
- Recording: On Canvas.
Lecture 12: Spanning Trees / Greedy Algorithms
- Readings (optional): AI(3) Chapters 13, 15.1-15.4.
- Slides: [PDF].
- Recording: On Canvas.
Lecture 13: Maximum Flow / Bipartite Matching
- Readings (optional): Unfortunately, neither of these topics is covered in AI.
- Slides: [PDF].
- Recording: On Canvas.
Lecture 14: Final Review
- No readings for this section.
- Slides: [PDF].
- Recording: On Canvas.