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 |