Book Chapters
- Week 1:
- Wednesday, August 24th: Chapter 2, sections 2.1, 2,2, and 2.3, and Chapter 3, sections 3.1 and 3.2 (O(), Ω() Θ())
- Friday, August 26th Chapter 4, sections 4.3, 4.4 (Substitution Method, Recursion Trees)
- Week 2:
- Monday, August 29th Chapter 4, section 4.4, 4.5 (Recursion Trees, Master Method)
- Wednesday, August 31st Chapter 5, sections 5.1 - 5.3 (Hiring Problem, Indicator Variables, Randomized Algorithms
- Friday, September 2nd: Chapter 6: Complete (Heapsort)
- Week 3:
- Monday, September 5th Holiday
- Wednesday, September 7th: Chapter 7 Complete (Quicksort)
- Friday, September 9th: Chapter 8 (Non-comparison sorting)
- Week 4:
- Monday, September 12th Chapter 9: Selection
- Wednesday, September 14th: Chapter 13 Complete (Red-Black Trees)
- Friday, September 16th: Chapter 13 / Chapter 14: Complete (Red-Black Trees, Modifying Data Structures)
- Week 5:
- Monday, September 19th: Chapter 13 / Chapter 14: Complete (Red-Black Trees, Modifying Data Structures)
- Wednesday, September 21st: Chapter 15, Section 15.1 and 15.2 (Dynamic Programming)
- Friday, September 23rd: Chapter 15, Section 15.3, 15.4 (Dynamic Programming)
- Week 6:
- Monday, September 26th: Chapter 16, Sections 16.1-16.2 (Greedy)
- Wednesday, September 28th: Chapter 16, Sections 16.1-16.2 (Greedy)
- Friday, September 30th: Chapter 16, Sections 16.3-16.4 (Greedy)
- Week 7:
- Monday, October 3rd: Midterm Review
- Wednesday, October 5th: Midterm
- Friday, October 7th: Chapter 18, Sections 18.1-18.3 (B-Trees)
- Week 8:
- Monday, October 10th: Chapter 18, Sections 18.1-18.3 (B-Trees), Chapter 17, Sections 17.1-17.2 (Amoritized Analysis)
- Wednesday, October 12th: Chapter 17, Sections 17.3 - 17.4 (Amortized Analysis)
- Friday, October 14th: Chapter 19 (Fibonacci Heaps)
- Week 9:
- Monday, October 17th: Fall Break
- Wednesday, October 19th: Chapter 21 (Disjoint Sets)
- Monday, October 21st: Chapter 22, Sections 22-1-22.3 (Basic Graphs, connected components)
- Week 10:
- Monday, October 24th: Chapter 22, Sections 22-1-22.3 (Basic Graphs, connected components)
- Wednesday, October 26th: Chapter 22, Section 22.4, Chapter 23, Section 23.1 (Minimum Cost Spanning Trees)
- Friday, October 28th: Chapter 24 (Shortest Paths algorithms)
- Week 11:
- Monday, October 31st: Chapter 25, Sections 25.1-25.2 (All Pairs Shortest Paths)
- Wednesday, November 2nd: Chapter 26 (Flow Networks)
- Friday, November 4th: Chapter 26 (Flow Networks), Chapter 33 (Computational Geometry)
- Week 12:
- Monday, November 7th: Chapter 33 (Computational Geometry)
- Wednesday, November 9th: Chapter 32 (String Matching)
- Friday, November 11th: Chapter 32 (String Matching)
- Week 13:
- Monday, November 14th: Chapter 34 (NP-Completeness)
- Wednesday, November 16th: Chapter 34 (NP-Completeness)
- Friday, November 18th: Midterm II Review
- Week 14:
- Monday, November 21st: Midterm II
- Wednesday, November 23th: Chapter 35 (Apporixmation Algorithms)
- Friday, November 25th: Thanksgiving Holiday
- Week 15:
- Monday, November 28st: Chapter 35 (Apporixmation Algorithms)
- Wednesday, November 30th: Compression (not in textbook)
- Friday, Dec 2nd: Compression (not in textbook)
- Week 16:
- Monday, Dec 5th: Review
- Wednesday, Dec 7th: Review
Lecture Notes
- Algorithm Analysis: lecture printable
- Probabilistic Analysis: lecture printable
- Heaps: lecture printable
- Quicksort: lecture printable
- Sorting II: lecture printable
- Selection: lecture printable
- Red/Black Trees: lecture printable
- Modifyng Data Structures: lecture printable
- Dynamic Programming: lecture printable
- Greedy Algorithms: lecture printable
- B-Trees: lecture printable
- Amortized Analysis: lecture printable
- Binomial Queues and Fibonacci Heaps: lecture printable
- Disjoint Sets: lecture printable
- Graphs: lecture printable
- Graphs II: Spanning Trees lecture printable
- Graphs III: Shortest Paths lecture printable
- Flow Networks lecture printable
- Computational Geometry lecture printable
- String Matching lecture printable
- NP Completeness lecture printable
- Compression lecture
- Review lecture printable