# Combinatorial Algorithms and Data Structures

# Spring 2006

## Announcements

### Final information!!!

## Course Staff

Satish Rao ("satishr" and the at sign and then "cs.berkeley.edu")

Office: 581 Soda
Office Hours: 11-12 MW.

### Scheduling

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

## Assessment

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

## 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.