| L1 |
Introduction: Analysis of Algorithms, Insertion Sort, Merge Sort |
Problem set 0 out
Problem set 0 due
Problem set 1 out |
| R1 |
Correctness of Algorithms |
|
| L2 |
Asymptotic Notation, Recurrences: Substitution, Iteration, Master Method |
|
| L3 |
Divide and Conquer: Strassen's Algorithm, Fibonacci Numbers, VLSI Layout |
|
| R2 |
Recurrences, Sloppiness |
|
| L4 |
Quicksort, Randomized Algorithms |
Problem set 1 due
Problem set 2 out |
| L5 |
Median, Order Statistics |
|
| R3 |
Sorting: Heapsort, Dynamic Sets, Priority Queues |
|
| L6 |
Linear-time Sorting, Lower Bounds, Counting Sort, Radix Sort |
|
| L7 |
Hashing: Chaining, Universal Hashing |
Problem set 2 due |
| R4 |
Quiz 1 Review |
|
|
Quiz 1 |
|
| L8 |
Binary Search Trees (BST): Tree Walks, Analysis of Random BST |
Problem set 3 out |
| R5 |
Relation of BST's to Quicksort |
|
| L9 |
Balanced Search Trees |
|
| R6 |
Augmenting Data Structures |
|
| L10 |
Amortized Analysis: Disjoint Sets |
Problem set 3 due
Problem set 4 out |
| L11 |
More Amortized Analysis |
|
| R7 |
Competitive Analysis |
|
| L12 |
Dynamic Programming |
Problem set 4 due
Problem set 5 out |
| L13 |
Greedy Algorithms, Graphs, Minimum Spanning Trees |
|
| R8 |
Examples of Greedy Algorithms and Dynamic Programming |
|
| L14 |
Shortest Paths: Dijkstra's Algorithm, Breadth-first Search |
Problem set 5 due
Problem set 6 out |
| L15 |
Shortest Paths: Bellman-Ford, Shortest Paths in Dags, Difference Constraints |
|
| R9 |
Depth-first Search: Edge Classification |
|
| L16 |
All-pairs Shortest Paths: Dynamic Programming, Floyd-Washall, Johnson's Algorithm |
|
| L17 |
Computational Geometry: Segment Intersection |
Problem set 6 due
Problem set 7 (excercise only) out |
| R10 |
Computational Geometry |
|
| L18 |
Computational Geometry: Closest Pair |
|
| L19 |
Take-home Quiz
Ethics, Problem Solving (mandatory attendance) |
Take-home Quiz 2 handed out
Quiz 2 due five days after lecture 19 |
| L20 |
Network Flow: Max-flow Min-cut Theorem |
Problem set 8 out |
| L21 |
Network Flow: Edmonds-Karp Algorithm |
|
| L22 |
String Matching: Rabin-Karp Algorithm |
Problem set 8 due
Problem set 9 (excercise only) out |
| R11 |
Final Exam Review |
|
| L23 |
Fast Fourier Transform |
|
| L24 |
NP-completeness, Approximation Algorithms |
|
|
Final Exam |
|