1

6.006 Introduction to Algorithms (Fall 2011, MIT OCW). Taught by Professor Erik Demaine and Professor Srinivas Devadas,

FREE
This course includes
Hours of videos

666 years, 7 months

Units & Quizzes

24

Unlimited Lifetime access
Access on mobile app
Certificate of Completion

this course provides an introduction to mathematical modeling of computational problems. It covers the common algorithms, algorithmic paradigms, and data structures used to solve these problems. The course emphasizes the relationship between algorithms and programming, and introduces basic performance measures and analysis techniques for these problems. (from ocw.mit.edu)

Course Currilcum

  • Lecture 01 – Algorithmic Thinking, Peak Finding Unlimited
  • Lecture 02 – Models of Computation, Document Distance Unlimited
  • Lecture 03 – Insertion Sort, Merge Sort Unlimited
  • Lecture 04 – Heaps and Heap Sort Unlimited
  • Lecture 05 – Binary Search Trees, BST Sort Unlimited
  • Lecture 06 – AVL Trees, AVL Sort Unlimited
  • Lecture 07 – Counting Sort, Radix Sort, Lower Bounds for Sorting Unlimited
  • Lecture 08 – Hashing with Chaining Unlimited
  • Lecture 09 – Table Doubling, Karp-Rabin Unlimited
  • Lecture 10 – Open Addressing, Cryptographic Hashing Unlimited
  • Lecture 11 – Integer Arithmetic, Karatsuba Multiplication Unlimited
  • Lecture 12 – Square Roots, Newton’s Method Unlimited
  • Lecture 13 – Breadth-First Search (BFS) Unlimited
  • Lecture 14 – Depth-First Search (DFS), Topological Sort Unlimited
  • Lecture 15 – Single-Source Shortest Paths Problem Unlimited
  • Lecture 16 – Dijkstra Unlimited
  • Lecture 17 – Bellman-Ford Unlimited
  • Lecture 18 – Speeding up Dijkstra Unlimited
  • Lecture 19 – Dynamic Programming I: Fibonacci, Shortest Paths Unlimited
  • Lecture 20 – Dynamic Programming II: Text Justification, Blackjack Unlimited
  • Lecture 21 – Dynamic Programming III: Parenthesization, Edit Distance, Knapsack Unlimited
  • Lecture 22 – Dynamic Programming IV: Guitar Fingering, Tetris, Super Mario Bros Unlimited
  • Lecture 23 – Computational Complexity Unlimited
  • Lecture 24 – Topics in Algorithms Research Unlimited