CS 312: Algorithms


Jan 22: Course Overview, Stable Matching
Reading: Kleinberg Chapter 1
Slides
Jan 24: Stable Matching, Efficiency
Reading: Kleinberg, 2.1-2.2
Slides
Homework 1
Jan 28: Fourth hour
Kleinberg, Chapter 1, Exercise 4
Jan 29: Asymptotic Growth
Slides
Jan 31: Analyzing Running Time of Algorithms
Reading: Kleinberg, 2.3-2.5
Slides
Sipser article on P vs NP
Homework 2
Feb 4: Fourth Hour
Kleinberg. Chapter 1, Exercise 6 (ship scheduling)
Feb 5: Graphs, BFS, DFS
Reading: Kleinberg, Chapter 3
Slides
Feb 7: BFS/DFS Implementation & Running Time
Slides
Homework 3
Feb 11: Fourth Hour
Homework 3
Feb 12: Directed Graphs, DAGS, and Topological Sort
Reading: Kleinberg 3.5, 3.6
Broder et al., Graph structure in the web
Slides
Feb 14: Greedy Algorithms: Interval Scheduling
Reading: Kleinberg 4.1, 4.2
Slides
Homework 4
Feb 18: Fourth Hour
Homework 4 Problem 1
Feb 19: Greedy; Dijkstra
Reading: Kleinberg 4.4
Slides
Feb 21: Dijkstra; Minimum Spanning Tree
Reading: Kleinberg 4.5
Slides
Feb 25: Fourth hour
Homework 4 problems
Feb 26: Minimum Spanning Tree
Midterm 1 out
Feb 28: Union Find
Slides
Mar 5: Divide and Conquer Intro, Solving Recurrences
Reading: Kleinberg, Chapter 5.1–5.2
Slides
Homework 5
Mar 7: Counting Inversions, Closest Pair of Points
Reading: Kleinberg, Chapter 5.3–5.4
Slides
Mar 11: Fourth Hour
Worked on HW5
Mar 12: Dynamic Programming Intro
Reading: Kleinberg, Chapter 6, up through 6.2
Slides
Homework 6
Mar 14: Weighted Interval Scheduling, Segmented Least Squares
Reading: Kleinberg, 6.3
Slides
Week of March 18: SPRING BREAK
Mar 25: Fourth Hour
Work on HW6
Mar 26: Segmented Least Squares, Subset Sum
Reading: Kleinberg, 6.4
Slides
Notes
Homework 7
Mar 28: Shortest Paths with Negative Weights: Bellman-Ford Algorithm
Reading: Kleinberg, 6.8
April 1: Fourth Hour
Work on HW7
April 2: Shortest Paths with Negative Weights: Bellman-Ford Algorithm
Reading: Kleinberg, 6.8
Midterm #2 out in class; due Tuesday 4/9
Slide (yes, just one)
April 4: Network Flow Intro
Reading: Kleinberg, 7.0, 7.1
Slides
April 8: Fourth hour canceled (due to Midterm #2)
April 9: Ford-Fulkerson
Reading: Kleinberg, 7.0, 7.1
Slides
Notes
April 11: Max-Flow Min-Cut
Reading: Kleinberg, 7.2
Homework 8
Slides
Notes
April 15: Fourth hour
Reading: Kleinberg, 7.5
Cover Bipartite Matching, and work on HW8 Problem #5
April 16: Flow Applications: Circulation, Airline Scheduling, Graph Cuts
Reading: Kleinberg 7.7, 7.9, 7.10
Slides
Graph Cuts Slides
April 18: Polynomial Reducibility
Reading: Kleinberg 8, 8.1, 8.2
Slides
Homework 9 (due April 29 at 10 am)
April 22: Fourth Hour
Homework #9
April 23: NP-Completeness
Reading: Kleinberg 8.3, 8.4
Slides
April 25: Conclusion
Slides