Tentative Lecture Schedule
Here is a tentative schedule detailing the major topics covered, the
corresponding section(s) in the textbook, and the approximate amount of time that we
will spend on each of them.
- Introduction: the stable matching problem (2 hours, section 1.1)
- Asymptotic notations (4 hours, section 2.1, 2.2, 2.4)
- Greedy algorithms (6 hours, sections 4.1, 4.4, 4.5)
- Amortized Analysis and merge-find data structures (4 hours, section 4.6 + additional material)
- Divide and conquer algorithms (5 hours, sections 5.1 -- 5.4)
- Randomized algorithms (4 hours, sections 13.5, 13.7)
- Dynamic programming (6 hours, sections 6.1 -- 6.3, 6.6)
- NP-Completeness (3 hours, sections 8.1 -- 8.4)