Date |
Topic |
Readings |
Notes |
Homeworks |
| Sep 9 |
Introduction, Class overview, RAM model, Worst-case complexity, Insertion sort, and Asymptotics |
Chapter 1, Section 2.1, 2.2 and 3.1 |
Note 1 Zoom Note |
|
| Sep 14 |
Asymptotics, Induction, Divide and conquer, Merge sort, Recurrence, Recursion tree |
Section 2.3 and 3.2 Sort with dance Sorting algorithms in six minutes |
Note 2 Zoom Note |
|
| Sep 16 |
Binary search, Powering, Matrix multiplication, Strassen's algorithm Master theorem |
Section 4.2, 4.3 and 4.5 |
Note 3 Zoom Note |
|
| Sep 21 |
Randomized algorithms Quicksort and its analysis |
Chapter 5, Section 7.1 and 7.2 Appendix C for basics of probability |
Note 4 |
|
| Sep 23 |
Randomized Quicksort Selection in linear time, and Lower bound on comparison sorts |
Sectioin 7.3 and 7.4 Section 9.2, 9.3 and 8.1 |
Note 5 Note 6 |
|
| Sep 28 |
Hash tables and hash functions Universal hashing |
Section 11.1 and 11.2 Section 11.3.3 |
Note 7 Note 8 |
|
| Sep 30 |
Quiz (tentative makeup class on Oct 3) | |||
| Oct 3 |
Binary search trees |
Section 11.5 and Chapter 12 |
Note 9 |
|
| Oct 5 |
Red-Black trees |
Chapter 13 |
Note 10 |
|
| Oct 7 |
Augmenting data structures Order statistics, Interval trees |
Chapter 14 |
Note 11 |
|
| Oct 12 |
Greedy algorithms |
Section 16.1, 16.2 and 16.3 |
Note 12 |
|
| Oct 14 |
Dynamic programming: Rod cutting and Longest common subsequence |
Section 15.1, 15.3 and 15.4 |
Note 13 |
|
| Oct 19 |
Dynamic programming: Optimal binary search tree |
Section 15.4 |
Note 14 |
|
| Oct 21 |
Midterm evaluation |
|||
| Oct 26 |
Graphs and Breadth-first search |
Section 22.1 and 22.2 |
Note 16 |
|
| Oct 28 |
Breadth-first search and its correctness |
Section 22.2 |
See Note 16 |
|
| Nov 2 |
Academic Holiday |
|||
| Nov 4 |
Depth-first search and Topological sort |
Section 22.3 and 22.4 |
Note 17 |
|
| Nov 9 |
Strongly connected components
Minimum spanning tree: the generic method |
Section 22.5 and Section 23.1 |
Note 18 |
|
| Nov 11 |
Minimum spanning trees: Kruskal and Prim |
Chapter 23 and Section 21.1-2 |
Note 19 |
|
| Nov 16 |
Single-source shortest path: Bellman-Ford and Dijkstra |
Chapter 24 |
Note 20 |
|
| Nov 18 |
Quiz (tentative makeup class on Nov 21) | |||
| Nov 21 |
All-pairs shortest paths |
Chapter 25 |
Note 21 |
|
| Nov 23 |
Maximum Flow: Ford-Fulkerson |
Section 26.1 and 26.2 |
Note 22 |
|
| Nov 25 |
Academic Holiday |
|||
| Nov 30 |
Edmonds-Karp, and Maximum bipartite matching |
Section 26.2 and 26.3 |
Note 23 |
|
| Dec 2 |
NP-completeness |
Chapter 34 |
Note 24 |
|
| Dec 7 |
NP-completeness |
Chapter 34 |
Note 25 |
|
| Dec 9 |
NP-completeness |
Chapter 34 |
Note 25 |
|
| Dec 14 |
Final evaluation |