Below are roughly the sections of the CLRS book that I will cover. I may de-emphasize some topics and add others, but this is basically the list.
Topic | Text Reference |
Summations | CLRS Appendix A |
Intro to Algorithms | CLRS Ch 1 (brief) |
Getting Started | Ch 2 (brief) |
Order of Growth/Asymptotics | Ch 3 |
Solving Recurrences | Ch 4 |
Heapsort and Randomized Quicksort | from Ch 6 and Ch 7 |
Lower Bounds for Sorting | Ch 8 (Section 1 only) |
Order Statistics | Ch 9 |
Counting and Probability | Appendix C |
Elementary Data Structures | Ch 10 (brief) |
Hash Tables (time permitting) | Ch 11 (Sections 1 and 2 only) |
Binary Search Trees | Ch 12 (brief) |
Red-Black Trees | Ch 13 |
Augmenting Data Structures | Ch 14 (brief) |
Dynamic Programming | Ch 15 |
Greedy Algorithms | Ch 16 |
Amortized Analysis | Ch 17 |
Mergeable Heaps: Fibonacci Heaps | Ch 19 |
Disjoint Sets | Ch 21 (Section 3 only) |
Elementary Graph Algorithms | Ch 22 |
Minimum Spanning Trees | Ch 23 |
Dijkstra's Algorithm | Ch 24 Section 3 |
Floyd-Warshall Algorithm (time permitting) | Ch 25 Section 2 |
Intro to NP-Completeness | Ch 34 Sections 1 and 2 |
Theory of NP-Completeness | Ch 34 Section 3 |
Week/ Date | Topic | Slides | Assignment | Due Date |
---|---|---|---|---|
Week 1 8/18/24 |
Syllabus Week | - | - | - |
Week 2 8/25/24 |
Asymptotic Analysis | Chapter 3, Appendix A | - | - |
Week 3 9/1/24 |
Recurrences | Appendix A, Chapter 4 | - | - |
Week 4 9/8/24 |
More on Recurrences | Chapter 4 | Homework 1 | xxx xx, xxxx |
Reading only | Sorting | Chapter 2 | - | - |
Week 6 9/15/24 |
Quicksort & Randomizing Quicksort |
Chapter 7 Appendices C.2&C.3, Chapters 5&7 |
- | - |
Week 7 9/22/24 |
Heapsort | Chapter 6, Appendix B.5 | Homework 2 | xx xx, xxxx |
Week 8 9/29/24 |
Linear Sorting | Chapter 8 | Homework 3 | xx xx, xxxx |
Week 9 10/6/24 |
Binary Search Trees | Appendix B5.2, Chapter 12 | - | - |
Week 11 10/13/24 |
Red-Black Trees | Chapter 14 | - | - |
Week 9 10/20/24 |
Midterm Exam The Exam will cover textbook chapters 2 - 8, 12, and 14 |
- | - | Oct 23, 2024 |
Week 12 10/27/24 |
Dynamic Programming | Chapter 15 | - | - |
Week 13 11/3/24 |
More on Dynamic Programming |
Chapter 15 | Homework 4 | xx xx, xxxx |
Week 14 11/10/24 |
Mid-Semester Break | - | - | - |
Week 15 11/17/24 |
Graphs Theory | Chapter 22 | - | - |
Week 15 11/24/24 |
Shortest Paths | Chapter 24 | - | - |
Week 16 12/1/24 |
NP-Completeness | Chapter 34 | - | - |
Week 17 12/8/24 |
Revision | - | - | - |
Weeks 18 - 20 12/8-26/24 |
Final Exams | - | - | - |