Here are some very brief Lecture Notes covering the major topics we hit in class. These are by no means a replacement for attending class or doing the readings. I will continue to update them as the course continues.
Week and Topic | Readings | Other Material |
Week 1: Admin, Complexity Analysis: review and average case. |
Review: Appendices A, C; Chapters 2, 3 |
Week 1 slides |
Week 2: Heaps, Heap-Sort and Priority Queues. | Chapter 6 | nothing |
Week 3: AVL Trees, Augmenting data structures (briefly) | Chapter: 12.1-12.3, Notes on AVL trees | nothing. |
Week 4: Hashing, Quicksort | Chapter 11.1-11.3 (Ignore universal hashing). Chapter 7 (you can look at chapter 5 for a review of some probability). | nothing. |
Week 5: Binomial Heaps. | Notes on Binomial Heaps | |
Week 6: Finished Binomial Heaps and Midterm Review. | Notes on Binomial Heaps |
Nothing. |
Week 7: Reading Week, no lecture. Midterm will be this week. |
Nothing. |
Nothing. |
Week 8: Introduction to graphs, BFS, brief look at Dijkstra's algorithm. |
Chapters: 22.1-22.2, 24.3 (we only covered some of this briefly, it will be discussed in more detail the following week). |
Nothing. |
Week 9: Proof of BFS, DFS, Topological Sort (if time). |
Chapters: 22.3-22.4 |
Nothing. |
Week 10: Amortized Analysis for Dynamic arrays. |
Chapters: 17 (Most of the Amortized Analysis stuff here is the potential method, we won't do this) |
Nothing. |
Week 11: Disjoint Sets. |
Chapters: 21.1, 21.2, 21.3 (21.4 contains some interesting analysis, but don't worry about understanding it.) |
Nothing. |
Week 12: Minimum Spanning Trees. |
Chapters: 23 |
Nothing. |