|
|
|
|
|
|
|
|
1 |
|
|
|
Lecture 1 Administrivia; Introduction: Analysis of Algorithms, Insertion Sort, Mergesort
Reading: Chapters 1–2 |
|
|
|
-
|
|
|
Quiz 0 Out |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
-
|
|
|
|
Recitation 1 Correctness of Algorithms |
|
|
Quiz 0 Due
PS 1 Out |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
Lecture 2 Asymptotic Notation. Recurrences: Substitution, Iteration, Master Method
Reading: Chapters 3–4, Excluding §4.4 |
|
|
|
-
|
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
Lecture 3 Divide and Conquer: Strassen’s Algorithm, Fibonacci Numbers, Polynomial Multiplication
Reading: §28.2 and §30.1 |
|
|
|
-
|
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
-
|
|
|
|
Recitation 2 Recurrences, Sloppiness (Akra-Bazzi)
Reading: Akra-Bazzi Handout |
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
Lecture 4 Quicksort, Randomized Algorithms
Reading: §5.1–5.3, Chapter 7 |
|
|
|
-
|
|
|
PS 1 Due
PS 2 Out |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
-
|
|
|
|
Recitation 3 Sorting: Heapsort, Dynamic Sets, Priority Queues
Reading: Chapter 6 |
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
|
|
Lecture 5 Linear-time Sorting, Lower Bounds, Counting Sort, Radix Sort
Reading: §8.1–§8.3 |
|
|
|
-
|
|
|
PS 2 Due
PS 3 Out |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
|
|
Lecture 6 Order Statistics, Median
Reading: Chapter 9 |
|
|
|
-
|
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
|
|
-
|
|
|
|
Recitation 4 Applications of Median, Bucketsort
Reading: §8.4 |
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
|
|
Lecture 7 Hashing, Universal Hashing
Reading: §11.1–§11.3 |
|
|
|
-
|
|
|
PS 3 Due
PS 4 Out |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
|
|
Lecture 8 Hash Functions, Perfect Hashing
Reading: §11.5 |
|
|
|
-
|
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
|
|
|
-
|
|
|
|
Recitation 5 Quiz 1 Review |
|
|
PS 4 Due |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
|
|
|
Graded PS 4 Available by Noon |
|
|
|
-
|
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
|
|
|
Quiz 1 in Class |
|
|
|
-
|
|
|
Quiz 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
|
|
|
-
|
|
|
|
Recitation 6 Binary Search Trees, Tree Walks
Reading: §12.1–§12.3 |
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
|
|
|
Lecture 9 Relation of BST’s to Quick Sort; Analysis of Random BST
Reading: §12.4 |
|
|
|
-
|
|
|
PS 5 Out |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
|
|
|
Lecture 10 Red-Black Trees, Rotations, Insertions, Deletions
Reading: Chapter 13 |
|
|
|
-
|
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
|
|
|
-
|
|
|
|
Recitation 7 2-3 Trees, B-Trees
Reading: §18.1–§18.2 |
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
|
|
|
Lecture 11 Augmenting Data Structures, Interval Trees
Reading: Chapter 14 |
|
|
|
-
|
|
|
PS 5 Due
PS 6 Out |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
|
|
Lecture 12 Computational Geometry, Range Queries
Reading: §33.1–§33.2 |
|
|
|
-
|
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
|
|
-
|
|
|
|
Recitation 8 Convex Hulls
Reading: §33.3 |
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
|
|
|
Lecture 13 van Emde Boas, Priority Queues
Reading: van Emde Boas Handout |
|
|
|
-
|
|
|
PS 6 Due
PS 7 Out |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
|
|
|
Lecture 14 Amortized Algorithms, Table Doubling, Potential Method
Reading: Chapter 17 |
|
|
|
-
|
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
|
|
|
-
|
|
|
|
Recitation 9 Competitive Analysis, Self-Organizing Lists |
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
|
|
|
Lecture 15 Dynamic Programming, Longest Common Subsequence, Optimal BST
Reading: Chapter 15 |
|
|
|
-
|
|
|
PS 7 Due
PS 8 Out |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
|
|
|
Lecture 16 Greedy Algorithms, Minimum Spanning Trees
Reading: §16.1–16.3 and Chapter 23 |
|
|
|
-
|
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
|
|
|
-
|
|
|
|
Recitation 10 Examples of Greedy Algorithms and Dynamic Programming |
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
|
|
|
Lecture 17 Shortest Paths, Dijkstra’s Algorithm, Breadth-First Search
Reading: §22.1, §22.2; pp. 580–587, §24.3 |
|
|
|
-
|
|
|
PS 8 Due
PS 9 Out |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
|
|
|
-
|
|
|
|
Recitation 11 Depth-First Search, Edge Classification
Reading: §22.3–22.5 |
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
|
|
|
Lecture 18 Shortest Paths, Bellman-Ford, Shortest Paths in DAGs, Difference Constraints
Reading: §24.1, §24.2, §24.4, §24.5 |
|
|
|
-
|
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
|
|
|
Lecture 19 All-Pairs Shortest Paths, Dynamic Programming, Floyd-Warshall, Johnson’s Algorithm
Reading: Chapter 25 |
|
|
|
-
|
|
|
PS 9 Due |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
|
|
|
Lecture 20 Disjoint-Set Data Structure
Reading: Chapter 21 |
|
|
|
-
|
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
|
|
|
Graded PS 9 Available by Noon |
|
|
|
-
|
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
|
|
|
Lecture 21 Take-Home Quiz 2 Handed Out; Ethics, Problem Solving (Mandatory Attendance) |
|
|
|
-
|
|
|
Quiz 2 Out |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
|
|
|
-
|
|
|
|
NO RECITATION - Work on Quiz 2!
|
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
|
|
|
NO LECTURE
Algorithmic Programming Contest Begins (Optional) |
|
|
|
-
|
|
|
Quiz 2 Due |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
|
|
|
Lecture 22 Network Flow, Max-Flow Min-Cut Theorem
Reading: §26.1– 26.2 |
|
|
|
-
|
|
|
PS 10 Out (Optional) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
|
|
|
-
|
|
|
|
Recitation 12 Match Making
Reading: §26.3 |
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
|
|
|
Lecture 23 Network Flow, Edmonds-Karp Algorithm |
|
|
|
-
|
|
|
Contest Entries Due |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
|
|
|
Lecture 24 Diagnostic Quiz in Class; Contest Awards; Discussion of Follow-on Courses |
|
|
|
-
|
|
|
PS 10 Solutions Out |
|
|
|
|
|
|
|