6.046J Introduction to Algorithms (SMA 5503)
6.046J/18.410J Introduction to Algorithms (SMA 5503, MIT OCW). This consists of 25 video lectures given by Professor
Charles Leiserson and Professor Erik Demaine, introducing the analysis and design of computer algorithms.
This course teaches techniques for the design and analysis of efficient algorithms, emphasizing methods
useful in practice. Topics covered include: sorting; search trees, heaps, and hashing; divideandconquer;
dynamic programming; amortized analysis; graph algorithms; shortest paths; network flow; computational
geometry; numbertheoretic algorithms; polynomial and matrix calculations; caching; and parallel computing.
(from ocw.mit.edu)
Lecture 01  Administrivia; Introduction; Analysis of Algorithms, Insertion Sort, Mergesort 
Lecture 02  Asymptotic Notation; Recurrences; Substitution, Master Method 
Lecture 03  DivideandConquer: Strassen, Fibonacci, Polynomial Multiplication 
Lecture 04  Quicksort, Randomized Algorithms 
Lecture 05  Lineartime Sorting: Lower Bounds, Counting Sort, Radix Sort 
Lecture 06  Order Statistics, Median 
Lecture 07  Hashing, Hash Functions 
Lecture 08  Universal Hashing, Perfect Hashing 
Lecture 09  Relation of BSTs to Quicksort  Analysis of Random BST 
Lecture 10  Redblack Trees, Rotations, Insertions, Deletions 
Lecture 11  Augmenting Data Structures, Dynamic Order Statistics, Interval Trees 
Lecture 12  Skip Lists 
Lecture 13  Amortized Algorithms, Table Doubling, Potential Method 
Lecture 14  Competitive Analysis: Selforganizing Lists 
Lecture 15  Dynamic Programming, Longest Common Subsequence 
Lecture 16  Greedy Algorithms, Minimum Spanning Trees 
Lecture 17  Shortest Paths I: Properties, Dijkstra's Algorithm, Breadthfirst Search 
Lecture 18  Shortest Paths II: BellmanFord, Linear Programming, Difference Constraints 
Lecture 19  Shortest Paths III: Allpairs Shortest Paths, Matrix Multiplication, FloydWarshall, Johnson 
Lecture 20 
Lecture 21 
Lecture 22  Advanced Topics 
Lecture 23  Advanced Topics (cont.) 
Lecture 24  Advanced Topics (cont.) 
Lecture 25  Advanced Topics (cont.)  Discussion of Followon Classes 
References 
Introduction to Algorithms (SMA 5503)
Instructors: Prof. Charles Leiserson and Prof. Erik Demaine. Selected Lecture Notes. Audio Lectures. Exams and Solutions. Subtitles/Transcript. Assignments and Solutions.
