COS 528: Data Structures and Graph Algorithms

Robert Tarjan, Spring 2013


Course Description

Description: Data structures and algorithms for graph and network problems, including disjoint set union, heaps, search trees, search on graphs, minimum spanning trees, shortest paths, network flows, and matchings. The intent of the course is to examine the most efficient algorithms known for a variety of combinatorial problems and to discover the principles underlying the design and analysis of these algorithms. The emphasis is on asymptotic worst-case and amortized analysis.

Graded Work: Problem sets and a research-oriented project. Details TBD.

Class Schedule: MW 11:00-12:20, CS Rm. 301

Office Hours: After class and by appointment, CS Rm. 324

Email: ret AT cs ...


Problem Set 1 — Union-Find


2/4 — Union-Find, Part I: Design Space

2/6 — Rank-Balanced Trees I

Guest Talk by Siddhartha Sen.

2/11 — Union-Find, Part II: Tree Compression

2/13 — Union-Find, Part III: Compression Bounds

2/18 — Union-Find, Part IV: O(α(n,d)) Bound and Application to NCA

2/20 — Nearest Common Ancestors II; Depth-First Search

2/25 — NCA ↔ RMQ; Topological Orderings & Strong Components

2/27 — Dominators

3/4 — Loop Hierarchies

3/6 — Cycle Detection Under Edge Addition, Part I

3/11 — Cycle Detection Under Edge Addition, Part II

3/13 — Dynamic Connectivity I

3/25 — Dynamic Connectivity II; Diameter Estimation

3/27 — Dynamic Connectivity III; Minimum Spanning Trees I

4/1 — Rank-Balanced Trees II; Minimum Bottlneck Spanning Tree

Guest Talk by Siddhartha Sen.

4/3 — Minimum Spanning Trees II; Directed Minimum Spanning Trees I

4/8 — Directed Minimum Spanning Trees II; Fibonacci Heaps I

4/10 — Fibonacci Heaps II; Lazy Fibonacci Heaps

4/15 — Matching I; Diameter Approximation II

4/17 — Diameter Approximation III; Matching II; Max-Flow I

4/22 — Max-Flow II

4/24 — Max-Flow III


Similar Courses Elsewhere