TENTATIVE LECTURE SCHEDULE
Divide and conquer:
Tuesday, March 3:
Course Overview
Multiplying n-bit 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 linear-time 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.3-6.4
and Wikipedia
Eric's notes
Tuesday, March 31:
Knapsack part II
Chain matrix multiply
Reading: [DPV] Chapters 6.4-6.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.1-4.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
Union-Find data structure
Reading: [DPV] Chapters 5.1.1, 5.1.3, and 5.1.4
Eric's notes
Tuesday, May 12:
Floyd-Warshall algorithm for all-pairs 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
NP-Completeness:
Tuesday, May 19:
Search problems, NP, P
NP-completeness, Reductions
Reading: [DPV] Chapters 8.1-8.2
Eric's notes
Thursday, May 21:
3SAT is NP-complete
Reading: [DPV] Chapter 8.3
Eric's notes
Tuesday, May 26:
Independent Set is NP-complete
Vertex Cover and Clique are NP-complete
Reading: [DPV] Chapter 8.3
Eric's notes
Thursday, May 28:
Subset-Sum and Knapsack are NP-complete
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 NP-completeness
Reading: [DPV] Chapter 8
Thursday, June 11:
TBD
Thursday, June 18:
Final Exam
|