







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 (AkraBazzi)
Reading: AkraBazzi 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 Lineartime 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 RedBlack Trees, Rotations, Insertions, Deletions
Reading: Chapter 13 
























19 








Recitation 7 23 Trees, BTrees
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, SelfOrganizing 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, BreadthFirst Search
Reading: §22.1, §22.2; pp. 580–587, §24.3 







PS 8 Due
PS 9 Out 















30 








Recitation 11 DepthFirst Search, Edge Classification
Reading: §22.3–22.5 



















31 



Lecture 18 Shortest Paths, BellmanFord, Shortest Paths in DAGs, Difference Constraints
Reading: §24.1, §24.2, §24.4, §24.5 
























32 



Lecture 19 AllPairs Shortest Paths, Dynamic Programming, FloydWarshall, Johnson’s Algorithm
Reading: Chapter 25 







PS 9 Due 















33 



Lecture 20 DisjointSet Data Structure
Reading: Chapter 21 
























34 



Graded PS 9 Available by Noon 
























35 



Lecture 21 TakeHome 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, MaxFlow MinCut Theorem
Reading: §26.1– 26.2 







PS 10 Out (Optional) 















39 








Recitation 12 Match Making
Reading: §26.3 



















40 



Lecture 23 Network Flow, EdmondsKarp Algorithm 







Contest Entries Due 















41 



Lecture 24 Diagnostic Quiz in Class; Contest Awards; Discussion of Followon Courses 







PS 10 Solutions Out 






