000 | 01847cam a2200217 a 4500 | ||
---|---|---|---|
008 | 080110s2008 enka 001 0 eng | ||
020 | _a9780521614108 (pbk) | ||
041 | _aeng | ||
080 |
_a510.6 _bEDM |
||
100 | 1 | _aEdmonds, Jeff | |
245 | 1 | 0 | _aHow to Think about Algorithms |
260 |
_aNew York _bCambridge University Press _c2008 |
||
300 | _axiii, 448p | ||
505 | _aIterative 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 | ||
520 | _a"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 | ||
650 | 0 | _aAlgorithms | |
650 | 0 | _aInvariants | |
650 | 0 | _aRecursion theory | |
690 | _aMathematics | ||
942 | _cBK | ||
999 |
_c23505 _d23505 |