# Calendar

The calendar provides lecture and recitation topics, problem set and quiz dates, and assigned readings from the course textbook, Introduction to Algorithms, 2nd Edition, by Cormen, Leiserson, Rivest, and Stein.

DAY # LECTURES RECITATIONS KEY DATES
1 Lecture 1 Administrivia; Introduction: Analysis of Algorithms, Insertion Sort, Mergesort

-

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

-

-

4 Lecture 3 Divide and Conquer: Strassen’s Algorithm, Fibonacci Numbers, Polynomial Multiplication

-

-

5

-

Recitation 2 Recurrences, Sloppiness (Akra-Bazzi)

-

6 Lecture 4 Quicksort, Randomized Algorithms

-

PS 1 Due
PS 2 Out
7

-

Recitation 3 Sorting: Heapsort, Dynamic Sets, Priority Queues

-

8 Lecture 5 Linear-time Sorting, Lower Bounds, Counting Sort, Radix Sort

-

PS 2 Due
PS 3 Out
9 Lecture 6 Order Statistics, Median

-

-

10

-

Recitation 4 Applications of Median, Bucketsort

-

11 Lecture 7 Hashing, Universal Hashing

-

PS 3 Due
PS 4 Out
12 Lecture 8 Hash Functions, Perfect Hashing

-

-

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

-

17 Lecture 9 Relation of BST’s to Quick Sort; Analysis of Random BST

-

PS 5 Out
18 Lecture 10 Red-Black Trees, Rotations, Insertions, Deletions

-

-

19

-

Recitation 7 2-3 Trees, B-Trees

-

20 Lecture 11 Augmenting Data Structures, Interval Trees

-

PS 5 Due
PS 6 Out
21 Lecture 12 Computational Geometry, Range Queries

-

-

22

-

Recitation 8 Convex Hulls

-

23 Lecture 13 van Emde Boas, Priority Queues

-

PS 6 Due
PS 7 Out
24 Lecture 14 Amortized Algorithms, Table Doubling, Potential Method

-

-

25

-

Recitation 9 Competitive Analysis, Self-Organizing Lists

-

26 Lecture 15 Dynamic Programming, Longest Common Subsequence, Optimal BST

-

PS 7 Due
PS 8 Out
27 Lecture 16 Greedy Algorithms, Minimum Spanning Trees

-

-

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

-

31 Lecture 18 Shortest Paths, Bellman-Ford, Shortest Paths in DAGs, Difference Constraints

-

-

32 Lecture 19 All-Pairs Shortest Paths, Dynamic Programming, Floyd-Warshall, Johnson’s Algorithm

-

PS 9 Due
33 Lecture 20 Disjoint-Set Data Structure

-

-

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

-

PS 10 Out (Optional)
39

-

Recitation 12 Match Making

-

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