Design and analysis of algorithms using six algorithmic design techniques: divide-and-conquer, greedy method, dynamic programming, tree and graph traversals, backtracking, and branch-and-bound. Lower bound theory. Turing Machines. NP-complete theory.
Prerequisites: CS 123, CS 131, or permission of instructor.
Return to the Home Page