![]()
Princeton University
|
Computer Science 423
|
|
These lecture notes are intended to supplement the textbook Algorithm Design by Jon Kleinberg and Éva Tardos. All readings are from this book unless otherwise specified. Here is a slightly more updated version of some of the slides.
TOPICS | READING | IN-CLASS DEMOS |
---|---|---|
Introduction | ||
Stable matching | Chapter 1 | Propose-and-reject |
Algorithm analysis | Chapter 2 | |
Greedy algorithms | Chapter 4.1 - 4.4 | Interval scheduling · Dijkstra |
Minimum spanning tree | Chapter 4.5 - 4.7 | Red rule, blue rule |
Divide-and-conquer | Chapter 5.1 - 5.5 | Merge · Merge and invert |
Convolution and FFT | Chapter 5.6 | |
Dynamic programming | Chapter 6.1 - 6.7 | |
Bellman-Ford | Chapter 6.8 - 6.10 | |
Duality warmup | - | |
Max flow, min cut | Chapter 7.1 - 7.3 | Ford-Fulkerson |
Network flow applications | Chapter 7.5 - 7.12 | |
Assignment problem | Chapter 7.13 | |
Intractability | Chapter 8.1 | |
Poly-time reductions | Chapter 8.4 - 8.7, 8.9 | The Longest Path [mp3] |
NP-completeness | Chapter 8.2 - 8.3, 8.8 | |
Extending limits of tractability | Chapter 10 | |
Approximation algorithms | Chapter 11 | List scheduling |
Local search | Chapter 12 | |
Randomized algorithms | Chapter 13 |