2

This is an intermediate algorithms course with an emphasis on teaching techniques for the design and analysis of efficient algorithms, emphasizing methods of application.

FREE
This course includes
Hours of videos

666 years, 7 months

Units & Quizzes

24

Unlimited Lifetime access
Access on mobile app
Certificate of Completion

Topics include divide-and-conquer, randomization, dynamic programming, greedy algorithms, incremental improvement, complexity, and cryptography.

Course Currilcum

  • Overview, Interval Scheduling Unlimited
  • Divide & Conquer: Convex Hull, Median Finding Unlimited
  • Divide & Conquer: FFT Unlimited
  • Divide & Conquer: van Emde Boas Trees Unlimited
  • Amortization: Amortized Analysis Unlimited
  • Randomization: Matrix Multiply, Quicksort Unlimited
  • Randomization: Skip Lists Unlimited
  • Randomization: Universal & Perfect Hashing Unlimited
  • Augmentation: Range Trees Unlimited
  • Dynamic Programming: Advanced DP Unlimited
  • Dynamic Programming: All-Pairs Shortest Paths Unlimited
  • Greedy Algorithms: Minimum Spanning Tree Unlimited
  • Incremental Improvement: Max Flow, Min Cut Unlimited
  • Incremental Improvement: Matching Unlimited
  • Linear Programming: LP, reductions, Simplex Unlimited
  • Complexity: P, NP, NP-completeness, Reductions Unlimited
  • Complexity: Approximation Algorithms Unlimited
  • Complexity: Fixed-Parameter Algorithms Unlimited
  • Synchronous Distributed Algorithms: Symmetry-Breaking. Shortest-Paths Spanning Trees Unlimited
  • Asynchronous Distributed Algorithms: Shortest-Paths Spanning Trees Unlimited
  • Cryptography: Hash Functions Unlimited
  • Cryptography: Encryption Unlimited
  • Cache-Oblivious Algorithms: Medians & Matrices Unlimited
  • Cache-Oblivious Algorithms: Searching & Sorting Unlimited