
Course6.046J / 18.410J23 lectures30 h 7 min
Introduction to Algorithms (SMA 5503)
Prof. Charles Leiserson and Prof. Erik Demaine · Massachusetts Institute of Technology
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).
Lectures
Video Lectures
- Lecture 1: Administrivia; Introduction; Analysis of Algorithms, Insertion Sort, Mergesort
- Lecture 2: Asymptotic Notation; Recurrences; Substitution, Master Method
- Lecture 3: Divide-and-Conquer: Strassen, Fibonacci, Polynomial Multiplication
- Lecture 4: Quicksort, Randomized Algorithms
- Lecture 5: Linear-time Sorting: Lower Bounds, Counting Sort, Radix Sort
- Lecture 6: Order Statistics, Median
- Lecture 7: Hashing, Hash Functions
- Lecture 8: Universal Hashing, Perfect Hashing
- Lecture 9: 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 22: Advanced Topics
- Lecture 23: Advanced Topics (cont.)
- Lecture 24: Advanced Topics (cont.)
- Lecture 25: Advanced Topics (cont.) - Discussion of Follow-on Classes
Syllabus and materials
At MIT OpenCourseWare, as the course publishes them.
Credits and licence
- Institution
- Massachusetts Institute of Technology
- Department
- Electrical Engineering and Computer Science; Mathematics
- Taught by
- Prof. Charles Leiserson, Prof. Erik Demaine
- Term
- Fall 2005
- Level
- Undergraduate
- Language
- English
- Subjects
- Mathematics, Computer science, Engineering
- Source
- MIT OpenCourseWare
- Licence
- CC BY-NC-SA 4.0, as MIT OpenCourseWare states it. Non-commercial use only. MIT OpenCourseWare's terms
- Attribution
- Prof. Charles Leiserson, Prof. Erik Demaine. Introduction to Algorithms (SMA 5503). Fall 2005. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu/. License: Creative Commons BY-NC-SA.
- Who can watch
- MIT OpenCourseWare gives no rating. Invisible Network shows it to Tweens profiles and older, judged from what the source says about it. How courses are placed
More like this
Course
The Analytics Edge
35 lectures · Video
Course
Single Variable Calculus
35 lectures · Video
Course
Multivariable Calculus
35 lectures · Video
Course
Matrix Methods in Data Analysis, Signal Processing, and Machine Learning
34 lectures · Video
Course
Linear Algebra
35 lectures · Video
Course
Linear Algebra
158 lectures · Video
Course
Computational Science and Engineering I
50 lectures · Video
Course
Engineering Dynamics
223 lectures · Video
Course
Becoming the Next Bill Nye: Writing and Hosting the Educational Show
132 lectures · Video
Course
Introduction to Nuclear Engineering and Ionizing Radiation
34 lectures · Video
Course
Thermodynamics of Materials
38 lectures · Video
Course
Introduction to Solid-State Chemistry
38 lectures · Video