Edmonds, Jeff

How to Think about Algorithms - New York Cambridge University Press 2008 - xiii, 448p

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

"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

9780521614108 (pbk)

Recursion theory

510.6 / EDM
The Institute of Mathematical Sciences, Chennai, India

Powered by Koha