CS 420: Design of Algorithms
Course Description
Algorithm design paradigms: divide-and-conquer, dynamic programming, greedy. Advanced data structures: balanced search trees, mergeable heaps, union-find. Introduction to computational complexity. Selected topics such as backtracking, branch-and-bound, amortized analysis, approximation algorithms.
Pre-requisite Courses
These courses must be taken before taking CS 420: