TENTATIVE LECTURE SCHEDULE
Divide and conquer:
Tuesday, March 3:
Course Overview
Multiplying nbit numbers
Reading: [DPV] Chapters 2.1 and 2.3
Eric's notes
Thursday, March 5:
Solving recurrences and the Master theorem
Reading: [DPV] Chapter 2.2
Eric's notes
Tuesday, March 10:
Randomized and Deterministic lineartime median
Reading: For the randomized algorithm, see [DPV] Chapter 2.4
Deterministic alg. is not covered in [DPV], see
notes from CMU
Eric's notes
Thursday, March 12: (extended class until 12:30pm)
FFT
Reading: [DPV] Chapter 2.6
Eric's notes
Tuesday, March 17  No class
Thursday, March 19: (guest lecture by Otfried Cheong)
Closest pair of points
Dynamic Programming:
Tuesday, March 24:
Fibonacci numbers
Longest increasing subsequences
Reading: [DPV] Chapter 6.2
Eric's notes
Thursday, March 26:
Longest common subsequence
Knapsack part I
Reading: [DPV] Chapters 6.36.4
and Wikipedia
Eric's notes
Tuesday, March 31:
Knapsack part II
Chain matrix multiply
Reading: [DPV] Chapters 6.46.5
Eric's notes
Thursday, April 2:
Bloom filters
Eric's notes
Tuesday, April 7:
Dynamic Programming Review
Thursday, April 9:
Exam 1 on Dynamic Programming and Solving Recurrences
Reading: [DPV] Chapters 2 and 6
Graph Algorithms:
Tuesday, April 14:
Graph representations
Depth First Search (DFS)
Connectivity/connected components in undirected graphs
DFS on directed graphs
Topologically sorting a DAG
Reading: [DPV] Chapters 3.1  3.3
Eric's notes
Thursday, April 16:
Strongly Connected Components (SCCs)
Reading: [DPV] Chapter 3.4
Eric's notes
Tuesday, April 21 and Thursday, April 23:
No class
Tuesday, April 28:
BFS
Dijkstra's shortest path algorithm
Reading: [DPV] Chapters 4.14.4
Eric's notes
Thursday, April 30:
Minimum spanning trees (MST)  Prim's algorithm
Cut property for correctness of MST algorithms
Reading: [DPV] Chapters 5.1.2 and 5.1.5
Eric's notes
Tuesday, May 5:
No class
Thursday, May 7:
Kruskal's MST algorithm
UnionFind data structure
Reading: [DPV] Chapters 5.1.1, 5.1.3, and 5.1.4
Eric's notes
Tuesday, May 12:
FloydWarshall algorithm for allpairs shortest paths
and detecting negative weight cycles
Eric's notes
Thursday, May 14:
Exam 2 on Graph Algorithms
Reading: [DPV] Chapters 3, 4, and 5
NPCompleteness:
Tuesday, May 19:
Search problems, NP, P
NPcompleteness, Reductions
Reading: [DPV] Chapters 8.18.2
Eric's notes
Thursday, May 21:
3SAT is NPcomplete
Reading: [DPV] Chapter 8.3
Eric's notes
Tuesday, May 26:
Independent Set is NPcomplete
Vertex Cover and Clique are NPcomplete
Reading: [DPV] Chapter 8.3
Eric's notes
Thursday, May 28:
SubsetSum and Knapsack are NPcomplete
Eric's notes
Tuesday, June 2:
Class cancelled
Thursday, June 4:
HW 8 solutions
Unsolvability of the Halting Problem
Reading: [DPV] End of Chapter 8
Tuesday, June 9:
Exam 3 on NPcompleteness
Reading: [DPV] Chapter 8
Thursday, June 11:
TBD
Thursday, June 18:
Final Exam
