Archived Versions

Video Lectures

Audio/video for lectures 20 and 21 are not available.


Lecture 1: Administrivia; Introduction; Analysis of Algorithms, Insertion Sort, Mergesort

Go to this video


Lecture 2: Asymptotic Notation; Recurrences; Substitution, Master Method

Go to this video


Lecture 3: Divide-and-Conquer: Strassen, Fibonacci, Polynomial Multiplication

Go to this video


Lecture 4: Quicksort, Randomized Algorithms

Go to this video


Lecture 5: Linear-time Sorting: Lower Bounds, Counting Sort, Radix Sort

Go to this video


Lecture 6: Order Statistics, Median

Go to this video


Lecture 7: Hashing, Hash Functions

Go to this video


Lecture 8: Universal Hashing, Perfect Hashing

Go to this video


Lecture 9: Relation of BSTs to Quicksort - Analysis of Random BST

Go to this video


Lecture 10: Red-black Trees, Rotations, Insertions, Deletions

Go to this video


Lecture 11: Augmenting Data Structures, Dynamic Order Statistics, Interval Trees

Go to this video


Lecture 12: Skip Lists

Go to this video


Lecture 13: Amortized Algorithms, Table Doubling, Potential Method

Go to this video


Lecture 14: Competitive Analysis: Self-organizing Lists

Go to this video


Lecture 15: Dynamic Programming, Longest Common Subsequence

Go to this video


Lecture 16: Greedy Algorithms, Minimum Spanning Trees

Go to this video


Lecture 17: Shortest Paths I: Properties, Dijkstra's Algorithm, Breadth-first Search

Go to this video


Lecture 18: Shortest Paths II: Bellman-Ford, Linear Programming, Difference Constraints

Go to this video


Lecture 19: Shortest Paths III: All-pairs Shortest Paths, Matrix Multiplication, Floyd-Warshall, Johnson

Go to this video


Lecture 22: Advanced Topics

Go to this video


Lecture 23: Advanced Topics (cont.)

Go to this video


Lecture 24: Advanced Topics (cont.)

Go to this video


Lecture 25: Advanced Topics (cont.) - Discussion of Follow-on Classes

Go to this video