| COS 423 Analysis of Algorithms Lectures, Spring 2001 |
The following table contains links to whatever electronic slides or demos were used in class. Note that not all of this material was actually covered in Spring 2001.
Here is a link to a more recent version of some of these lecture slides that supplement the textbook by Jon Kleinberg and Éva Tardos.
| Topic | Slides | In-class Demos | Reading |
| Introduction | |||
| Stable matching | Gale-Shapley | ||
| Greedy algorithms | |||
| Greed |
Activity selection
Greed is good |
CLR, Chapter 17 | |
| Shortest path | CLR, Chapter 25 | ||
| Minimum spanning tree | Red rule, blue rule | CLR, Chapter 24 | |
| Divide-and-conquer paradigm | |||
| Divide and conquer | Counting inversions |
CLR, Chapter 4, 8 31.2, 35.4 |
|
| Linear time selection | CLR 10.3 | ||
| Fast Fourier transform | CLR, Chapter 32 | ||
| Dynamic programming | |||
| Dynamic programming | CLR, Chapter 16 | ||
| Negative cycle | CLR, Chapter 26 | ||
| Reductions | |||
| Linear time reductions | CLR, Chapter 31.5 | ||
| Maximum flow |
Augmenting path Breadth-first search |
CLR, Chapter 27.1, 27.2 | |
| Reductions to max flow | CLR, Chapter 27.3 | ||
| Polynomial time reductions | CLR, Chapter 36 | ||
| Intractability and coping with intractability | |||
| NP completeness | Longest path song by Daniel Barrett | CLR, Chapter 36 | |
| Approximation algorithms |
List scheduling |
CLR, Chapter 37 survey paper (optional) |
|
| Linear programming | Scientific American handout | ||
| Beyond worst case complexity | |||
| Average case analysis | CLR, Chapter 8 | ||
| Amortized analysis |
Dynamic table Splay trees |
CLR, Chapter 13-15, 18 Splay handout from Duke |
|
| Competitive analysis | Paging | ||
| Conclusions | |||
| Wrapup | Top 10 algorithms | ||
| Acknowledgments | |||
| Data Structures | |||
| Binary and binomial heaps | ppt pdf | Binomial heap applet | |
| Fibonacci heaps | ppt pdf | CLR Chapter 20 | |
| How to read and print the files |
| Acknowledgments |
These lecture notes were heavily influenced by the unpublished manuscript Introduction to Algorithms, written by Jon Kleinberg and Éva Tardos. The lecture notes also adapt material from the following sources.
| Errata |
These lecture notes are being used for the first time this semester. If you discover any typos or errors, I would be grateful if you let me know via email.