This course provides an introduction to mathematical modeling of computational problems.
FREE
This course includes
Hours of videos
694 years, 4 months
Units & Quizzes
25
Unlimited Lifetime access
Access on mobile app
Certificate of Completion
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
Course Currilcum
-
- Introduction and document distance Unlimited
- More document distance, mergesort Unlimited
-
- Airplane scheduling, binary search trees Unlimited
- Balanced binary search trees Unlimited
- Hashing I: chaining, hash functions Unlimited
- Hashing II: table doubling, Karp-Rabin Unlimited
- Hashing III: open addressing Unlimited
- Searching I: graph search, representations, and applications Unlimited
- Searching II: breadth-first search and depth-first search Unlimited
- Searching III: topological sort and NP-completeness Unlimited
- Dynamic programming I: memoization, Fibonacci, Crazy Eights, guessing Unlimited
- Dynamic programming II: longest common subsequence, parent pointers Unlimited
- Dynamic programming III: text justification, parenthesization, knapsack, pseudopolynomial time, Tetris training Unlimited
- Dynamic programming IV: piano fingering, structural DP (trees), vertex cover, dominating set, and beyond Unlimited
- Beyond 6.006: follow-on classes, geometric folding algorithms Unlimited