Updated second edition presents algorithms for shortest paths, maximum flows, dynamic programming and backtracking. Also discussed are binary trees, heuristic and near optimums, matrix multiplication, and NP-complete problems. New to this edition: how to mix known algorithms and create new ones. Features 153 black-and-white illustrations and 23 tables. Exercises, with answers at the ends of chapters.