The Algorithm Design Manual by Steve S. Skiena is a book on algorithm design with a difference. Instead of merely cataloging algorithms with the appropriate code and some attendant explanation, this authoritative text not only covers a lot of middle ground, but includes a good deal on the design and analysis of algorithms as well, not to mention discussions on algorithms in general, in a transparent mode. Actually, Skiena indicates in the preface itself that you won�t find even a single theorem here, and the book is intended for practicing programmers to proceed rapidly with the generalities as also the specifics of active algorithm design.
The first part, The Algorithm Design Manual is all about techniques, and includes the essentials of modeling algorithms as also the "Big Oh" notation, sorting and data structures, graph algorithms, dynamic programming, concept of intractability and combinational search. This part of the book is especially interesting due to Skiena�s �war stories" which describes real-life applications of all ideas touched in every chapter.
Part two talks about "Resources", which catalogues a wide array of algorithmic problems that are categorized according to type. For every problem mentioned, it also includes a description and discussion of the problem, and potential implementation. In the section on implementation of each algorithm, the author reveals the sort of questions the reader must pose while designing his/her own implementation. The Algorithm Design Manual effectively introduces the various methods of algorithm analysis as well as design, and as such an encyclopedic source for diverse kinds of algorithms.
Other bestsellers from the author are Computational Discrete Mathematics: Combinatorics and Graph Theory with Mathematica, Implementing Discrete Mathematics: Combinatorics and Graph Theory with Mathematica. This paperback book is listed with the ISBN number of ISBN-10: 8184898657 ISBN-13: 978-8184898651.