Combinatorial Algorithms and Data Structures

Spring 2006

Announcements Course Staff Course Outline Assessment Homeworks Notes and Handouts


Final information!!!

Course Staff

Satish Rao ("satishr" and the at sign and then "cs.berkeley.edu")
Office: 581 Soda Office Hours: 11-12 MW.


The class will meet on Tuesdays and Thursdays 2:00-3:30 in Soda 306.


You grade will be based 75% on homework (perhaps sampled when graded), 25% on the final, and 10% on lecture notes.



Please use this template for writing scribe notes. You should turn in your notes before the following lecture. If the notes you're looking for are not yet available, try the 2005 2004, 2003, or 1997 versions of the course.

Course Outline

There is a significant dynamic component to the course, as topics drop in and out, or get longer or shorter treatment, depending on audience interest/reaction/resistence. We consider this a feature. Given this, here is a rough outline (notice how detailed and accurate it is for the first ten lectures!-):

Lectures 1-2: Introduction and SAT, depth-first search, strongly connected componnents, graph structure. References: Any algorithms book like [CLR].

Lectures 3-4-5 : Shortest paths (Dijkstra, negative edges, transitive closure) and maximum flows (max-flow min-cut, duality and linear programming, preflow-push algorithm). Reference: [CLR], book by [Papadimitriou and Steiglitz], book (and handout) by [Ahuja, Magnanti, and Orlin].

Lectures 6-7-8 : Linear Programming. Algorithms; simplex, Seidel's, interior point.

Lectures 9-10 : Randomized algorithms for min cuts, fingerprinting, polynomial equivalence. Reference: Book (and handout) by [Motwani and Raghavan].

Lectures 11-12-13 : Divide-and-conquer, mostly with geometric applications, but also sorting, selection, duplicate detection. Reference: [CLR].

Lectures 14-15-16 Dynamic programming. Reference: [CLR].

Lectures 17-18 NP-completeness. Reference: [CLR].

Lectures 19-20-21 Heuristics (Approximation algorithms, branch-and-bound and backtracking, local search and simulated annealing, etc.). Reference: [CLR], book by [Hochbaum], book (and handout) by [Lewis and Papadimitriou]

Lectures 22 PCP Application and Theorem.

Lectures 23-24-25-26-27 Other topics. Possiblities include coding theory, chernoff bounds, balls in bins anaylsis, fft.

Project presentations.  During the last weeks of the class we shall present a selection of the projects, and lead the class in addressing questions related to them.