Topics in the design and analysis of efficient
algorithms and their complexity. Significant algorithms in Graph Theory,
Algebra, Geometry, Number Theory and Combinatorics. General algorithmic
techniques (e.g., divide-and-conquer, backtracking, dynamic
programming). Randomized algorithms. Advanced topics, Fast Fourier
Transform, sorting networks, Parallel Algorithms, Inherent (lower)
bounds on problem complexity.

__
Prerequisites:__

CS 231: Data Structures and Algorithms