Computer Science 423
Theory of Algorithms
Spring 2008
LECTURES

The schedule is tentative and may change throughout the semester


DATE LECTURE READING
02/04/08 Stable Matching stable matching

Propose-and-reject

02/06/08 The Spectrum of Computational Complexity
Complexity

Complexity of Combinatorial

02/11/08 Amortization, list rearrangment
Amortized Comp. Complexity

Amortization

The cost of taking half
pints on the half-pipe

02/13/08 Binary search trees, red-black trees
Binary Search Trees
02/18/08 Sanjeev Arora:
P, NP, NP-completeness, problem reductions

No Handout
02/20/08 Moses Chariker:
Cook's Theorem, NP-complete problems

No Handout
02/25/08 More NP-complete probems
Reductions
NP-completeness
02/27/08 Self-adjusting search trees:
splay trees
Splay trees
Class Presentations
03/03/08 Shortest Paths and Heaps
03/05/08 Moses Charikar:Coping with NP-completeness
03/10/08 Disjoint Set Union Disjoint Set Union Presentation
03/12/08 Analysis of Set union Disjoint Union Set
Path Compresion Analysis
03/24/08 Graphs and Graph Search Graph, Search, Components
Class Notes: Depth-First Search
03/26/08 Strong Components .
03/31/08 Minimum Spanning Trees Minimum Spanning Slides
Linear-Time MST's
04/02/08 Shortest Paths Shortest Paths Slides
04/07/08 Linear Programming Programming Lecture Notes 1
Programming Lecture Notes 2
Programming Lecture Notes 3
04/09/08 Approximation Algorithms (Charikar) Course Notes by David Williamson
04/14/08 Maximum Flow Maximum Flow Handout
04/16/08 Maximum Matchings Matching slides
04/21/08 Minimum-Cost Matchings and Flows Minimum-Cost slides
04/23/08 Peculiar Problems/Incremental Topological Ordering Peculiar Problems slides
Incremental Topical Slides
04/28/08
05/02/08
Topics from applications

Large graphs in practice: web, road networks, memory snapshots
Lab Assignments:stable matching
Deletion without rebalancing in red-black trees (false analogy with B-trees)
Routes on roads: shortest paths:Dijkstra+heuristic search+bidriectional search+other ideas
Dominators: code optimization but bigger graphs from memory snapshots to analyze storage use
Role discovery:bipartite clique cover