General Info
The lectures allow us to explain new material, how it relates to the rest of the course (and what you've learned in other courses), and to show examples of applying the material. The core content of the lectures can be found in the course readings. The value of the lectures is that your instructor provides context and motivation for the material, focuses your attention on the key and more subtle points, and answers questions that arise while you're learning something new.
We will not publish lecture notes. You are expected to read the assigned material, and make your own notes during lectures and tutorials. While making notes, you should not aim to record everything that is said and written during the lecture, but instead write down the main points that will help you to understand the reading material, and to study for exams.
Students often learn a lot from working with one another. You are encouraged to meet with other students taking the course. For example, you might work through exercises in the course text together or discuss any material you found confusing in lecture or in the text.
Tentative Schedule of Lectures
Unless otherwise specified, all readings are from CLRS.
Week and Topic | Readings |
Week 1: Sept 9 –15 ADTs, Priority queues, Heaps |
Review: Appendices A, C; Chapters 2, 3 Chapter 6 |
Week 2: Sept 16–22 Priority queues: mergeable heaps Dictionaries: Review of BSTs |
Review: Chapter 12; Binomial heaps (from CLRS ed 2). |
Week 3: Sept 23–29 Balanced Binary Search Trees |
Notes on AVL trees by V. Hadzilacos. Chapter 18 |
Week 4: Sept 30–Oct 6 Augmenting Data Structures Introduction to Hashing; |
Chapter 14; Sections 5.1-5.3 and 11.1-11.3 Review of Probability Theory (also take a look at Appendix C) |
Week 5: Oct 7–13 Constructing a Universal Hash Family |
Section 11.5; Sections 31.1-31.4; Review of Modular Arithmetic |
Week 6: Oct 14–20 Randomized Quicksort Amortized Analysis |
Chapter 7; Sections 17.1-17.3 |
Week 7: Oct 21–27 Dynamic Tables |
Section 17.4 |
Week 8: Oct 28–Nov 3 Disjoint Sets |
Sections 21.1-21.3 |
Nov 4–10 NO CLASS |
|
Week 9: Nov 11–17 Lower Bounds |
Section 8.1.; Notes on decision trees;
Notes on adversarial method. Watch video lectures! (See Announcements for links) |
Week 10: Nov 18–24 Finish Disjoint Sets; BFS |
log* analysis (from CLR 1st edition). Graphs: Appendix B.4 BFS: Sections 22.1-22.2 |
Week 11: Nov 25–Dec 1 DFS |
Chapter 22.3 |
Week 12: Dec 2–8 Minimum spanning trees |
Chapter 23 |