Skip to content

Algorithmic Design

Following Data Structures and Algorithms, this course develops algorithm design and analysis through greedy algorithms, dynamic programming, the master theorem, NP-completeness, backtracking, linear programming, and branch-and-bound.

Desired prior knowledge: Data Structures and Algorithms and Discrete Mathematics.

Goodrich and Tamassia, Algorithm Design and Applications (2015).