Course Schedule
The following publications are referred to on
the schedule below:
- Kleinberg
- Jon Kleinberg and Éva Tardos, Algorithm Design,
Addison-Wesley, 2006.
- Jan. 31: Stable matching
- Readings
- Kleinberg, Chapter 1
- Slides
- Homework
- Solution
- Feb. 5: Proof by contradiction, Asymptotic bounds on running time
- Readings
- Kleinberg, 2.1-2.3
- Slides
- Feb. 7: Priority queues
- Readings
- Kleinberg, 2.4-2.5
- Slides
- Homework
- Solution
- Feb. 12: Graphs
- Readings
- Kleinberg, 3.1-3.2
- Slides
- Feb. 14: Graphs
- Readings
- Kleinberg, 3.3
- Slides
- Homework
- Solution
- Feb. 19: Bipartite Graphs and Directed Graphs
- Readings
- Kleinberg, 3.4-3.6
- Slides
- Feb. 21: Greedy Algorithms
- Readings
- Kleinberg, 4.1
- Slides
- Homework
- Solution
- Feb. 26: Greedy Algorithms
- Readings
- Kleinberg, 4.2
- Slides
- Feb. 28: Greedy Algorithms
- Readings
- Kleinberg, 4.4-4.5
- Slides
- Homework
- Solution
- Mar. 4: Union-Find
- Readings
- Kleinberg, 4.6
- Slides
- Mar. 6: Recurrence Relations
- Readings
- Kleinberg, 5.1-5.3
- Slides
- Mar. 11: Divide and Conquer
- Readings
- Kleinberg, 5.4
- Slides
- Mar. 13: Midterm 1
- Covers material through Chapter 4
- Sample midterm
- Sample midterm solution
- Midterm solution
- Mar. 25: Dynamic Programming
- Readings
- Kleinberg, 6.1-6.2
- Slides
- Mar. 27: Segmented Least Squares
- Readings
- Kleinberg, 6.3
- Slides
- Homework
- Solution
- BankCard.java
- BankCard.h
- BankCard.cpp
- Segmented Least Squares Implementation
- Display.java
- LineSegment.java
- Point.java
- PointSet.java
- SegmentedLeastSquares.java
- Apr. 1: Subset Sum
- Readings
- Kleinberg, 6.4
- Slides
- Apr. 3: Sequence Alignment
- Readings
- Kleinberg, 6.6
- Slides
- Homework
- Solution
- Apr. 8: Linear Space Sequence Alignment
- Readings
- Kleinberg, 6.7
- Slides
- Apr. 10: Network Flow
- Readings
- Kleinberg, 7.1
- Slides
- Apr. 15: Midterm Review
- Apr. 17: Midterm 2
- Covers material in Chapters 5 and 6
- Sample midterm
- Sample midterm solution
- Midterm solution
- Apr. 22: Maximum Flow / Minimum Cut
- Readings
- Kleinberg, 7.2
- Slides
- Apr. 24: Network Flow Applications
- Readings
- Kleinberg, 7.5, 7.7-7.9
- Slides
- Homework
- Solution
- Apr. 29: Scaling Maximum Flow
- Readings
- Kleinberg, 7.3
- Slides
- May 1: Polynomial Reducibility and NP
- Readings
- Kleinberg, 8.1-8.2
- Slides
- May 6: NP-Completeness
- Readings
- Kleinberg, 8.3-8.4
- Final
- Sample final
- Sample final solution