Below are audio, video and lecture sides for 1997 and 2007. Since the lectures are 10 years apart some of the topics covered by the course have changed. The 1997 lectures have a better quality video and audio than the 2007, although the 2007 covers the newer material and has better lecture notes.
If you found this useful also check out the video lectures of my Discrete Mathematics, Computational Biology, and Computational Finance courses. To download audio, right click and choose `Save Page As'.
1 Introduction to Algorithms |
2 Asymptotic Notation |
3 Modeling / Logarithms |
4 Elementary Data Structures |
5 Dictionary data structures / Trees |
6 Sorting |
7 Heapsort/Priority Queues |
8 Quicksort |
9 Linear Sorting |
10 Graph Data Structures |
11 Breadth/Depth-First Search |
12 Topological Sort / Connectivity |
13 Minimum Spanning Trees |
14 Shortest Path |
15 All-Pairs Shortest Paths |
16 Combinatorial Search |
17 Program optimization |
18 Introduction to Dynamic Programming |
19 Examples of Dynamic Programming |
19.5 More Examples of Dynamic Programming |
19.6 Divide and Conquer |
19.7 Recurrence Relations |
20 Introduction to NP-completeness |
21 Reductions |
22 More Reductions |
23 Cook's Theorem / Harder Reduction |
24 The NP-completeness challenge |
25 Approximation Algorithms |
26 Heuristic Methods |
video | audio | slides |
video | audio | slides |
--- | audio | slides |
video | audio | slides |
--- | audio | slides |
video | audio | slides |
--- | audio | slides |
video | audio | slides |
--- | audio | slides |
video | audio | slides |
video | audio | slides |
video | audio | slides |
video | audio | slides |
video | audio | slides |
video | audio | slides |
video | audio | slides |
video | audio | slides |
--- | audio | slides |
video | audio | slides |
--- | --- | --- |
--- | --- | --- |
--- | --- | --- |
--- | audio | slides |
--- | --- | slides |
--- | --- | slides |
--- | --- | slides |
--- | --- | slides |
--- | --- | slides |
--- | --- | slides |
1 Introduction to Algorithms | video | audio | slides |
2 Asymptotic Notation | video | audio | slides |
3 Program Analysis | video | audio | slides |
4 Elementary Data Structures | video | audio | slides |
5 Dictionaries | video | audio | slides |
6 Dictionary Data Structures / Trees | video | audio | slides |
7 Heapsort / Priority Queues | video | audio | slides |
8 Sorting | video | audio | slides |
9 Sorting (con't) | video | audio | slides |
10 Sorting (con't 2) | video | audio | slides |
11 Graph Data Structures | video | audio | slides |
12 Breadth-First Search | video | - | slides |
13 Depth-First Search | video | - | slides |
14 DFS(con't)/Min. Spanning Tree | video | - | slides slides-2 |
15 MST(con't )/Shortest Path | video | - | slides slides-2 |
16 Shortest Path | video | - | slides |
17 Backtracking | video | - | slides |
18 Exhaustive Search & Backtracking | video | - | slides |
19 Introduction to Dynamic Programming | video | - | slides |
20 Edit Distance | video | - | slides |
21 Dynamic Programming Examples | video | - | slides |
22 Applications of Dynamic Programming | video | - | slides |
23 Introduction to NP-Completeness | video | - | slides |
24 NP-Completeness Proofs | video | - | slides slides-2 |
25 NP-Completeness Challenge | video | - | slides |