How does one design programs and ascertain their efficiency? Divide-and-conquer techniques, string processing, graph algorithms, mathematical algorithms. Advanced data structures such as balanced tree schemes. Introduction to NP-completeness and intractable combinatorial search, optimization, and decision problems.
Prerequisites: CSC 172 & MTH 150.
Last updated 8/31/07 by Marty Guenther (marty@cs.rochester.edu)