Lectures

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