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; 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.
(from ocw.mit.edu)
Lecture 01 - Administrivia; Introduction; Analysis of Algorithms, Insertion Sort, Mergesort |
Lecture 02 - Asymptotic Notation; Recurrences; Substitution, Master Method |
Lecture 03 - Divide-and-Conquer: Strassen, Fibonacci, Polynomial Multiplication |
Lecture 04 - Quicksort, Randomized Algorithms |
Lecture 05 - Linear-time 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 - Red-black 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: Self-organizing Lists |
Lecture 15 - Dynamic Programming, Longest Common Subsequence |
Lecture 16 - Greedy Algorithms, Minimum Spanning Trees |
Lecture 17 - Shortest Paths I: Properties, Dijkstra's Algorithm, Breadth-first Search |
Lecture 18 - Shortest Paths II: Bellman-Ford, Linear Programming, Difference Constraints |
Lecture 19 - Shortest Paths III: All-pairs Shortest Paths, Matrix Multiplication, Floyd-Warshall, 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 Follow-on 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.
|