TY - BOOK AU - Edmonds,Jeff TI - How to Think about Algorithms SN - 9780521614108 (pbk) PY - 2008/// CY - New York PB - Cambridge University Press KW - Algorithms KW - Invariants KW - Recursion theory N1 - Iterative algorithms: measures of progress and loop invariants Examples using more-of-the-input loop invariants Abstract data types Narrowing the search space: binary search Iterative sorting algorithms Euclid's GCD algorithm The loop invariant for lower bounds Abstractions, techniques, and theory Some simple examples of recursive algorithms Recursion on trees Recursive images Parsing with context-free grammars Definition of optimization problems Graph search algorithms Network flows and linear programming Greedy algorithms Recursive backtracking Dynamic programming algorithms Examples of dynamic programs Reductions and NP-completeness Randomized algorithms Existential and universal quantifiers Time complexity Logarithms and exponentials Asymptotic growth Adding-made-easy approximations Recurrence relations A formal proof of correctness N2 - "This book presents insights, notations, and analogies to help the novice describe and think about algorithms like an expert. Jeff Edmonds provides both the big picture and easy step-by-step methods for developing algorithms, while avoiding the common pitfalls. Paradigms such as loop invariants and recursion help to unify a huge range of algorithms into a few meta-algorithms. Part of the goal is to teach the students to think abstractly."--Jacket ER -