Although some of the lecture below were scribed during the 2005 version of this course, many of the scribed notes below are from previous versions of the course. These older notes were made available to the students.

Scribed notes were taken by the students and used with permission.

The instructor notes often span several lectures

LEC # | TOPICS | SCRIBE NOTES | Instructor NOTES |
---|---|---|---|

1 | Course Introduction Fibonacci Heaps | Fibonacci Heaps (PDF) (Courtesy of David Andersen, Ioana Dumitriu, John Dunagan, and Akshay Patil.) | (PDF 1) (PDF 2) |

2 | MST Persistent Data Structures | Persistent Data Structures (PDF) (Courtesy of Sommer Gentry and Eddie Kohler.) | (PDF) |

3 | Splay Trees | Splay Trees (PDF) (Courtesy of Xin Zhang.) | (PDF) |

4 | Splay Trees (cont.) Suffix Trees Tries | Suffix Trees and Fibonacci Heaps (PDF) | (PDF) |

5 | Suffix Trees (cont.) Tries (cont.) Dial's Algorithm | ||

6 | Dijkstra's Algorithm Van Emde Boas Queues | Van Emde Boas Queues (PDF) (Courtesy of Abhi Shelat, Andrew Menard, and Akshay Patil.) | (PDF) |

7 | Van Emde Boas Queues (cont.) Hashing | (PDF) | |

8 | 2-Level Hashing Network Flows | Maximum Flows (PDF) (Courtesy of Alexandr Andoni.) | (PDF) |

9 | Network Flows: Augmenting Paths, Maximum Augmenting Paths, Scaling | ||

10 | Reductions between Flow Problems Bipartite Matching Shortest Augmenting Path Blocking Flows | ||

11 | Blocking Flows (cont.) | ||

12 | Min-Cost Flows | Min-Cost Flow Algorithms (PDF) (Courtesy of Wendy Chang.) | (PDF) |

13 | Min-Cost Flows (cont.) Linear Programming | (PDF) | |

14 | Linear Programming (cont.) Structure of Optima Weak Duality | Duality (PDF) (Courtesy of Jay-Kumar Sundararajan.) | |

15 | Linear Programming (cont.) Strong Duality | Duality(PDF) (Courtesy of Jay-Kumar Sundararajan.) | |

16 | Linear Programming (cont.) Complementary Slackness Algorithms: Simplex, Ellipsoid | Duality (PDF) (Courtesy of Jay-Kumar Sundararajan.) | |

17 | Linear Programming (cont.) Algorithms: Interior Point | ||

18 | Approximation Algorithms NP-hard problems | (PDF) | |

19 | 4/3-Approximation for TSP | ||

20 | Relaxations Directed TSP | ||

21 | Randomized Rounding Chernoff Bound Fixed Parameter Tractability Kernelization | (PDF) | |

22 | Online Algorithms (Ski Rental, Load Balancing, Paging) | Lower Bounds for Competitive Ratios of Randomized Online Algorithms (PDF) (Courtesy of Chun-Chieh Lin.) | (PDF) |

23 | Randomized Online Algorithms (Adversaries, Fiat's Marking Algorithm, Potential Functions, Yao's Minimax Principle) | Lower Bounds for Competitive Ratios of Randomized Online Algorithms (PDF) (Courtesy of Chun-Chieh Lin.) | |

24 | K-Server Problem Double-Coverage Algorithm Computational Geometry Introduction (Orthogonal Range Search) | ||

25 | Sweep Algorithms (Convex Hull, Segment Intersection, Voronoi Diagrams) | Sweep Line (PDF) (Courtesy of Matt Rasmussen.) | (PDF) |

26 | Sweep Algorithms (Voronoi Diagrams) Randomized Incremental Constructions Backwards Analysis Linear Programming in Fixed Dimension | ||

27 | (Optional Material) External Memory Algorithms | (PDF) | |

28 | (Optional Material) Cache Oblivious Algorithms: Matrix Multiplication, Linked Lists, Median | ||

29 | (Optional Material) Cache Oblivious Algorithms: Search Streaming Model | ||

29 | (Optional Material) Parallel Algorithms | (PDF) |

Lecture notes from the 2004 version of this course.

LEC # | TOPICS | SCRIBE NOTES |
---|---|---|

1 | Course Introduction Fibonacci Heaps | (PDF) (Courtesy of David Andersen, Ioana Dumitriu, John Dunagan, and Akshay Patil.) |

2 | Persistent Data Structures Suffix Trees | (PDF 1) (Courtesy of Sommer Gentry and Eddie Kohler.) (PDF 2) (Courtesy of Jiawen Chen.) |

3 | Suffix Trees (cont.) | (PDF) |

4 | Treaps | |

Splay Trees | (PDF) (Courtesy of Naveen Sunkavally.) | |

5 | Hashing: 2-Universal, Perfect Hashing Fingerprinting | |

6 | Fingerprinting (cont.) Max Flows | (PDF 1) (Courtesy of Jiawen Chen.) (PDF 2) (Courtesy of Alexandr Andoni.) |

7 | Max Flows (cont.) | |

8 | Max Flows (cont.) | |

9 | Max Flows (Max Flow of Min Cost) | |

Dynamic Trees Preflow-push Algorithm | ||

10 | Min Cost Flow Algorithms Linear Programming | (PDF 1) (Courtesy of Brian Dean and John Jannotti.) |

11 | Linear Programming (cont.) Farkas Lemma Duality | (PDF) (Courtesy of Vinod Vaikuntanathan.) |

Goldberg-Tarjan Min-cost Flow | (PDF) (Courtesy of Mohammad Hajiaghayi and Vahab Mirrokni.) | |

12 | Linear Programming: More Duality (Weak and Strong Duality) Complementary Slackness Conditions | |

13 | Linear Programming: Complementary Slackness Conditions (Same Scribes as Above) | |

14 | LP: Interior Points Algorithm Approximation Algorithms: Constant, Relative Approximation | (PDF) (Courtesy of Jason Eisenberg.) |

15 | Approximation Algorithm: PAS, FPAS, Rounding, Enumeration | |

16 | Approximation Algorithm: Rounding, Relaxation | (PDF) (Courtesy of Sachin Katti.) |

17 | Approximation Algorithm: LP Relaxation, Randomized Rounding | (PDF) (Courtesy of Shannon McDonald.) |

18 | Fixed Parameter Tractability | (PDF) (Courtesy of Shannon McDonald.) |

19 | Fixed Parameter Tractability - Treewidth Online Algorithms | |

20 | Online Algorithms (cont.): Paging, Randomization, Potential Functions | |

21 | Randomized Online Algorithms (Adversarial Models, Marking Algorithm) | |

22 | Lower Bounds for Randomized Online Algorithms Geometry: Range Search | (PDF) (Courtesy of Nick Harvey.) |

23 | Convex Hulls Voronoi Diagrams | |

24 | Voronoi Diagrams (cont.) Randomized Incremental Construction: Binary Space Partition | |

25 | Backwards Analysis for RIC: Convex Hull, Linear Programming | |

26 | External Memory Algorithms | |

27 | Cache-oblivious Algorithms |