About
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; divide-and-conquer; dynamic programming; amortized analysis; graph algorithms; shortest paths; network flow; computational geometry; number-theoretic algorithms; polynomial and matrix calculations; caching; and parallel computing.
This course was also taught as part of the Singapore-MIT Alliance (SMA) programme as course number SMA 5503 (Analysis and Design of Algorithms).
Course Homepage 6.046J / 18.410J Introduction to Algorithms (SMA 5503) Fall 2005
Course features at MIT OpenCourseWare page: *Syllabus *Calendar *Readings *Assignments *Exams *Download Course Materials
Complete MIT OCW video collection at MIT OpenCourseWare - VideoLectures.NET
Videos

Lecture 2: Asymptotic Notation, Recurrences, Substitution, Master Method
Feb 10, 2009
·
127137 views

Lecture 8: Universal Hashing, Perfect Hashing
Feb 10, 2009
·
39317 views

Lecture 4: Quicksort, Randomized Algorithms
Feb 10, 2009
·
62804 views

Lecture 15: Dynamic Programming, Longest Common Subsequence
Feb 10, 2009
·
80710 views

Lecture 7: Hashing, Hash Functions
Feb 10, 2009
·
43202 views

Lecture 13: Amortized Algorithms, Table Doubling, Potential Method
Feb 10, 2009
·
39787 views

Lecture 22: Advanced Topics
Feb 10, 2009
·
18166 views

Lecture 1: Administrivia, Introduction, Analysis of Algorithms, Insertion Sort, ...
Feb 10, 2009
·
133487 views

Lecture 9: Relation of BSTs to Quicksort, Analysis of Random BST
Feb 10, 2009
·
22773 views

Lecture 24: Advanced Topics (cont.)
Feb 10, 2009
·
10445 views

Lecture 11: Augmenting Data Structures, Dynamic Order Statistics, Interval Trees...
Feb 10, 2009
·
31326 views

Lecture 19: Shortest Paths III: All-pairs Shortest Paths, Matrix Multiplication,...
Feb 10, 2009
·
33781 views

Lecture 23: Advanced Topics (cont.)
Feb 10, 2009
·
10725 views

Lecture 3: Divide-and-Conquer: Strassen, Fibonacci, Polynomial Multiplication
Feb 10, 2009
·
54422 views

Lecture 10: Red-black Trees, Rotations, Insertions, Deletions
Feb 10, 2009
·
152767 views

Lecture 12: Skip Lists
Feb 10, 2009
·
47242 views

Lecture 16: Greedy Algorithms, Minimum Spanning Trees
Feb 10, 2009
·
57678 views

Lecture 5: Linear-time Sorting: Lower Bounds, Counting Sort, Radix Sort
Feb 10, 2009
·
40209 views

Lecture 17: Shortest Paths I: Properties, Dijkstra's Algorithm, Breadth-first Se...
Feb 10, 2009
·
64809 views

Lecture 6: Order Statistics, Median
Feb 10, 2009
·
31736 views

Lecture 18: Shortest Paths II: Bellman-Ford, Linear Programming, Difference Cons...
Feb 10, 2009
·
105508 views

Lecture 14: Competitive Analysis: Self-organizing
Feb 10, 2009
·
13701 views

Lecture 25: Advanced Topics (cont.), Discussion of Follow-on Classes
Feb 10, 2009
·
10757 views