2

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.

FREE
This course includes
Hours of videos

638 years, 9 months

Units & Quizzes

23

Unlimited Lifetime access
Access on mobile app
Certificate of Completion

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)

Course Currilcum

  • Lecture 01 – Administrivia; Introduction; Analysis of Algorithms, Insertion Sort, Mergesort Unlimited
  • Lecture 02 – Asymptotic Notation; Recurrences; Substitution, Master Method Unlimited
  • Lecture 03 – Divide-and-Conquer: Strassen, Fibonacci, Polynomial Multiplication Unlimited
  • Lecture 04 – Quicksort, Randomized Algorithms Unlimited
  • Lecture 05 – Linear-time Sorting: Lower Bounds, Counting Sort, Radix Sort Unlimited
  • Lecture 06 – Order Statistics, Median Unlimited
  • Lecture 07 – Hashing, Hash Functions Unlimited
  • Lecture 08 – Universal Hashing, Perfect Hashing Unlimited
  • Lecture 09 – Relation of BSTs to Quicksort – Analysis of Random BST Unlimited
  • Lecture 10 – Red-black Trees, Rotations, Insertions, Deletio Unlimited
  • Lecture 11 – Augmenting Data Structures, Dynamic Order Statistics, Interval Trees Unlimited
  • Lecture 12 – Skip Lists Unlimited
  • Lecture 13 – Amortized Algorithms, Table Doubling, Potential Method Unlimited
  • Lecture 14 – Competitive Analysis: Self-organizing Lists Unlimited
  • Lecture 15 – Dynamic Programming, Longest Common Subsequence Unlimited
  • Lecture 16 – Greedy Algorithms, Minimum Spanning Trees Unlimited
  • Lecture 17 – Shortest Paths I: Properties, Dijkstra’s Algorithm, Breadth-first Search Unlimited
  • Lecture 18 – Shortest Paths II: Bellman-Ford, Linear Programming, Difference Constraints Unlimited
  • Lecture 19 – Shortest Paths III: All-pairs Shortest Paths, Matrix Multiplication, Floyd-Warshall Unlimited
  • Lecture 22 – Advanced Topics Unlimited
  • Lecture 23 – Advanced Topics (cont.) Unlimited
  • Lecture 24 – Advanced Topics (cont.) Unlimited
  • Lecture 25 – Advanced Topics (cont.) – Discussion of Follow-on Classes Unlimited