Princeton University
Computer Science Department

Computer Science 423
Theory of Algorithms

Robert Tarjan

Spring 2009


The following schedule is tentative and may change throughout the semester.

2/2 Amortization, list rearrangement
Chapter 17, CLRS

Amortized Analysis of Move-to-Front Rule

2/4 Amortization, continued
Amortized Comp. Complexity

List Update and Paging Rules

2/9 Balanced Search Trees
Chapters 12 and 13, CLRS

Rank-balanced binary search trees

2/11 Self-Adjusting Search Trees
Self-adjusting binary search trees

Splay trees (notes from MIT)

Amortized analysis (presentation from Rice,
includes multipop example and splaying)

2/16 Self-Adjusting Search Trees (cont.)
2/18 Heaps
Chapter 6, CLRS

Implicit heaps

2/23 Meldable Heaps
Chapter 19, CLRS

2/25 Key Decrease in Heaps
Chapter 20, CLRS

Rank-pairing heaps

3/2 Disjoint Set Union
Chapter 21, CLRS

3/4 Analysis of Path Compression
Path compression (slides by Raimund Seidel)

Disjoint set union

3/9 Randomized Search Trees
Randomized search trees

3/11 Persistent Search Trees and Priority Search Trees
Planar point location using persistent search trees

Priority search trees

A unifying look at data structures
(Geometric analysis of binary search trees)

3/23 Graphs, Graph Search, Topological Ordering
Chapter 22, CLRS

3/25 Depth-First Search, Strong Components,
Biconnected Components

Path-based depth-first search for strong and
biconnected components

3/30 Shortest Paths
Chapters 24 and 25, CLRS

Shortest paths

4/1 Shortest Paths (cont.)
4/6 Heuristic Search, Minimum Spanning Trees
Reach for A* (slides by Andrew Goldberg)

4/8 Minimum Spanning Trees (cont.)
Chapter 23, CLRS

Minimum spanning trees

4/13 Flows and Matchings
4/15 Maximum Flow, The Preflow Push Algorithm
Chapter 26, CLRS

Fast Versions of the Preflow Push Algorithm

4/20 NP Completeness, Reductions
Chapter 34, CLRS

4/22 NP Completeness (cont.)
4/27 Shortest Paths in Road Networks (Andrew Goldberg,
guest lecturer); Problem Reductions

Contraction Hierarchies: Faster and Simpler
Hierarchical Routing in Road Networks

4/29 Peculiar Problems