Princeton University
Computer Science Department

Computer Science 423
Theory of Algorithms

Kevin Wayne

Spring 2005


General Information   |     Lecture Notes

Lecture Notes

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