Princeton University
Computer Science Department

Computer Science 423
Theory of Algorithms

Robert Tarjan

Spring 2010


COURSE INFORMATION | LECTURES | ASSIGNMENTS


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

DATE LECTURE READING
Mon 2/1 Binary Search Trees
CLRS 12

Wed 2/3 Balanced Binary Search Trees
CLRS 13

Notes on Rank-balanced trees


Mon 2/8 Rebalancing without Deletion
B-Trees

CLRS 18

Deletion without Rebalancing
in Balanced Binary Trees



Wed 2/10 Snow Day!


Mon 2/15 Amortized Efficiency
List Rearrangment

CLRS 17

Amortized Analysis of Move-to-Front
(MF) List Rearrangement



Wed 2/17 Self-Adjusting Search Trees
Splay Trees



Mon 2/22 Composite Search Trees
Persistent Data Structures

CLRS 14, CLRS Problems 13-1, 13-4

Planar Point Location Using
Persistant Search Trees



Wed 2/24 Heaps
CLRS 6

Rank Pairing Heaps



Mon 3/1 Meldable Heaps with Key Decrease
CLRS 19

Rank Pairing Heaps-Powerpoint



Wed 3/3
Fibonacci Heaps/Precept


Mon 3/8 Disjoint Set Union
CLRS 21

Wed 3/10 Analysis of Path Compression

Disjoint Set Union




Path Compression and Making the Inverse Ackermann Function Appear Natural(ly)



Mon 3/22 Title: Graphs and Graph Search
CLRS 22

Wed 3/24 Applications of Depth-First Search

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




Class Notes: Depth-First Search



Mon 3/29 Shortest Paths

Notes on Shortest Paths



CLRS 24, 25

Wed 3/31 Minimum Spanning Trees
CLRS 23

Mon 4/5 Minimum Spanning Trees in Expected Linear Time

Minimum Spanning Trees in Expected Linear Time





Wed 4/7 Graph Matching

An5/2 Algorithm for Maximum Matching in Bipartite Graphs




Mon 4/12 Edmonds' Cycle-Shrinking Algorithm

Notes On Edmonds





Wed 4/14 Maximum Flow
CLRS 26

Mon 4/19 Preflow Push for Maximum Flow



Notes On Fast Versions of the Preflow Push Max-Flow Algorithm



Wed 4/21 P and NP
CLRS 34

Mon 4/26 NP-Complete Problems


Mon 5/3 Approximation Algorithms for NP-Complete Problems

Linear Programming
CLRS 35

CLRS 29

Wed 5/5 Dynamic Graph Algorithms



Near-optimal fully-dynamic graph connectivity