About the Course
Design and Analysis of Algorithms introduces fundamental paradigms for designing efficient algorithms and techniques for analyzing their correctness and complexity. The course develops both classical algorithmic methods and the computational-complexity perspective needed to understand their limitations.
Topics
Divide and Conquer · Greedy Algorithms · Dynamic Programming · Network Flows · Computational Complexity · Approximation Algorithms · Randomized Algorithms · Number-Theoretic Algorithms