CS 312
Algorithms

Course Schedule

The following publications are referred to on the schedule below:

Kleinberg
Jon Kleinberg and Éva Tardos, Algorithm Design, Addison-Wesley, 2006.
Feb. 2: Stable matching
Readings
Kleinberg, Chapter 1
Slides
Homework
Solution
Feb. 4: Proof by contradiction, Efficiency
Readings
Kleinberg, 2.1
Slides
Feb. 9: Asymptotic bounds on running time, Priority queues
Readings
Kleinberg, 2.2-2.4
Slides
Homework
Solution
Feb. 11: Priority queues, Graphs
Readings
Kleinberg, 2.5-3.2
Slides
Feb. 16: Graphs
Readings
Kleinberg, 3.2
Slides
Homework
Feb. 18: Implementing BFS
Readings
Kleinberg, 3.3
Slides
Feb. 23: Bipartite Graphs and Directed Graphs
Readings
Kleinberg, 3.4-3.6
Slides
Homework
Feb. 25: Greedy Algorithms - Interval Scheduling
Readings
Kleinberg, 4.1
Slides
Mar. 2: Greedy Algorithms
Readings
Kleinberg, 4.1
Slides
Homework
Mar. 4: Greedy Algorithms - Minimizing Lateness
Readings
Kleinberg, 4.2
Slides
Mar. 9: Dijkstra's Algorithm
Readings
Kleinberg, 4.4
Slides
Mar. 11: Midterm 1
Covers material through Chapter 3
Sample midterm
Sample midterm solution
Midterm solution
Mar. 23: Minimum Spanning Tree, Union-Find
Readings
Kleinberg, 4.5-4.6
Slides
Homework
Mar. 25: Recurrence Relations
Readings
Kleinberg, 5.1
Slides
Mar. 30: Counting Inversions
Readings
Kleinberg, 5.2-5.3
Slides
Homework
Apr. 1: Closest Pair of Points, Dynamic Programming Introduction
Readings
Kleinberg, 5.4, 6.1
Slides
Apr. 6: Weighted Interval Scheduling
Readings
Kleinberg, 6.1-6.2
Slides
Homework
Apr. 8: Segmented Least Squares, Subset Sum
Readings
Kleinberg, 6.3-6.4
Slides
Segmented Least Squares Implementation
Display.java
LineSegment.java
Point.java
PointSet.java
SegmentedLeastSquares.java
Apr. 13: Subset Sum, Knapsack, Sequence Alignment
Readings
Kleinberg, 6.4, 6.6
Slides
Midtem 2 handed out in class, will be due by email at 11:59, April 15
Covers material in Chapters 4 and 5
Sample midterm questions
Sample midterm
Midterm solution
Apr. 15: Sequence Alignment
Readings
Kleinberg, 6.6-6.7
Slides
Apr. 20: Network Flow
Readings
Kleinberg, 7.1
Slides
Homework
Apr. 22: Maximum Flow / Minimum Cut
Readings
Kleinberg, 7.2, 7.5
Slides
Apr. 27: Network Flow Applications
Readings
Kleinberg, 7.7-7.9
Slides
Homework
Apr. 29: Polynomial Reducibility and NP
Readings
Kleinberg, 8.1-8.2
Slides
May 4: NP-Completeness
Readings
Kleinberg, 8.3-8.4
Slides
May 6: Review for final
Final