Clearly written graduate-level text considers the Soviet ellipsoid algorithm for linear programming; efficient algorithms for network flow, matching, spanning trees, and matroids; the theory of NP-complete problems; approximation algorithms, local search heuristics for NP-complete problems, more. "Mathematicians wishing a self-contained introduction need look no further." — American Mathematical Monthly. 1982 edition.