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 3: Divide-and-Conquer: Strassen, Fibonacci, Polynomial Multiplication
Feb 10, 2009
·
54428 views

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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