CMU 15-451    Algorithms    Spring 2004

Instructors: Gary Miller    Danny Sleator

TAs: Shobha Venkataraman   Nina Balcan   Stefan Niculescu


Announcements:


General info


Homeworks

There will be a homework assignment every week of the semester. These are divided into three types:

Lecture notes

  1. 01/13: [ps] Asymptotic analysis, solving recurrences
  2. 01/15: [power point] Intro & Admin       Karatsuba/Strassen (notes under lecture 1).
  3. 01/20: [ps,pdf] Probabilistic Analysis and Randomized Quicksort
  4. 01/22: Selection algorithms: deterministic and randomized. (notes under lecture 1)
  5. 01/26: [pdf] Radix sort, lexicographic sort.
  6. 01/28: Sorting Lower Bounds. See chapter 5 of the notes for lecture 1.
  7. 02/03: [pdf] Dynamic Programming from CLRS.
  8. 02/05: [pdf] Optimal Binary Search Trees.
  9. 02/10: [txt] Binary Search Trees       [txt] Random Binary Search Trees (Treaps)
  10. 02/12: [pdf,ps] Amortized Analysis       [txt] Growing and Shrinking a Table
  11. 02/12: [txt] Splay Trees       Demo of Top-Down Splaying
  12. 02/19: [pdf] Minimum Spanning Trees from CLRS.
  13. 02/24: [pdf] Depth First Search from CLRS.
               [pdf] Bi-Connected-Components from Reingold et. al.
  14. 02/26: Midterm Exam 1
  15. 03/02: [pdf] Shortest Paths from CLRS.
  16. 03/04: More graph algorithms, see notes from previous lecture.
  17. 03/16: [txt] Max-Flow Lecture I.
  18. 03/18: [txt] Max-Flow Lecture II.
  19. 03/23: [txt] Computational Geometry.
  20. 03/25: More computational geometry, see notes from previous lecture.
  21. 03/30: [txt] Fibonacci Heaps
  22. 04/01: Midterm Exam 2
  23. 04/06: [txt] Competitive Algorithms I (Deterministic)
  24. 04/08: [txt] Competitive Algorithms II (Paging and Randomized Competitiveness)
  25. 04/13: [txt] Linear Programming I            [pdf] Diet Problem
  26. 04/20: Linear programming II, see notes from previous lecture.
  27. 04/22: [pdf] NP-completeness I
  28. 04/27: [pdf] NP-completeness II            [pdf] NP-completeness III
  29. 04/29: [txt] Approximation Algorithms