Topics Covered by Week
- Divide-and-Conquer for polynomial multiplication and
closest pair, corresponding to Sections 5.5 and 5.4.
- Contention Resolution (13.1) and Global Minimum Cut (13.2)
- Random Variables and their expectations (13.3), Analysis
of Quicksort, and Hashing (13.6). Our analysis of
Quicksort is different from that of Section 13.5, and
is taken from the book "Randomized Algorithms", by Motwani
and Raghavan. An electronic version is available through
our library.
- Packet Routing (13.11), Approximation for Max 3-Sat (13.4),
Weighted Interval Scheduling (6.1).
- Weighted Interval Scheduling (6.1), Segmented Least Squares
(6.3), Knapsack (6.4).
- RNA secondary structure, our last dynamic programming example (6.5).
The maximum flow problem, residual networks, and flow
addition (7.1).
- Connection between residual network and flow addition. The
Ford-Fulkerson algorithm. Correctness argument via cuts, and
the max-flow min-cut theorem (7.2).
- Midterm. Speeding up Ford-Fulkerson (7.3). Applications
of Max-Flow/Min-cuts: Image segmentation (7.10).
- Applications of Network Flow: Matchings, Circulations, and
baseball elimination.
- NP and polynomial time reducibility. Reductions from
3CNF-SAT to independent set, independent set to vertex cover.
- From 3CNF-SAT to 3-coloring, 3-d matching, and subset sum.
Circuit-Sat: the first NP-complete problem.