Resource List


Here you will find various resources for this course. A big thank you to the creators/owners of these resources for making them publicly available. There are many such resources if you search on the web; this is just a tiny sample. In particular Youtube is full of lecture videos. Some stuff you see here might be too easy or too hard for you; they will be useful as supplementary material. Some of the stuff is just undedited student notes. While they are useful for you to see more examples, I make no guarantees of correctness for any of the stuff that I post. In case of discrepancies between our text/lectures and what you see here, our stuff overrides.

Take a look at two whole MIT Algorithms courses here and here . (Erik Demaine, and Srinivas Devadas. 6.006 Introduction to Algorithms, Fall 2011, Charles Leiserson and Erik Demaine, 6.046J(SMA 5503), Fall 2005. Massachusetts Institute of Technology: MIT OpenCourseWare, http://ocw.mit.edu. License: Creative Commons BY-NC-SA) .

Asymptotic Complexity

Some nice videos on big-Oh (and Omega and Theta) are here and here.

Khan Academy goes into this topic as well.

Some lecture notes on the topic are here and here. Some are easier to follow than others.

Recurrences

Some resources on recurrences and examples of solving recurrences using the Master Theorem can be found here and here and here.

Some videos that form a nice sequence (the examples start at minute 6:30 in the first one, but the explanation part is also helpful) are here and here and here.

If you go to the above videos, as part of the same sequence you will see some examples of when the Master Theorem does not apply. Those are nice as well.

Greedy algorithms/Dynamic Programming:

You can just google Huffman coding and get a million useful videos and other resources. Here's one.

Here is a set of wonderful slides from Chandra Chekuri's CS473 class at UIUC, with our thanks. Check out his class as well as the resources he recommends for his students, as well as other (including the most recent) versions of this course. You can use these to check out dynamic programming as well.

NP-Completeness

Some nice NP-completeness videos, a few of many: here, and here, and here, and here. Thanks to the original authors.

Maximum Flow

Nice set of slides, thanks Kevin Wayne!