Basic techniques used in design and analysis of algorithms, including divide-and- conquer, greedy methods, dynamic programming, search techniques, backtracking, branch-and-bound, and algebraic transformation. NP-Complete and NP-Hard problems, reductions among and approximations to such problems. Basic concepts surrounding the halting problem. Prereq: CMPS 341 or CMPS 406. Same as EECE 500.
|