- Hardcover: 486 pages
- Publisher: Springer; Corrected edition (November 14, 1997)
- Language: English
- ISBN-10: 0387948600
- ISBN-13: 978-0387948607
- Product Dimensions: 7.2 x 1.2 x 9.5 inches
- Shipping Weight: 8.8 ounces
- Average Customer Review: 182 customer reviews
- Amazon Best Sellers Rank: #223,041 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
The Algorithm Design Manual Corrected Edition
Use the Amazon App to scan ISBNs and compare prices.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
"...the book is an algorithm implementation treasure trove, and putting all of these implementations in one place was no small feat. The list of implementations, an extensive bibliography, and the CD-ROM make the book an invaluable resource for everyone interested in the subject." --ACM Computing Reviews
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
The other major gripe I had is with the code examples. Most variables and method parameters are named a, k, c .. etc. For instance here is a method header in the backtracking section: construct_candidates(int a, int k, int n, int c, int *ncandidates)
This makes the code very hard to read and follow as well when you are a lines deep in a method trying to figure out what
k[i] - c + a is. It has been my experience that most math/engineer types and professors tend to write code this way vs giving things descriptive names so the code is easily understandable. The book would be 10X more valuable had the code samples been clearer. I ended up sending it back.
Personally, I really like Mr. Skiena's writing style and his presentation is clear. It's not as dry as Sedgwick. This has now become my favorite book on algorithms.
As an example, older calculators always started "high" when finding quadratic factors or square roots. Skiena (p. 134) shows that three possible "front ends" can make subsequent iteration (trial and error until you're done) faster and more efficient: 1. The older always start high method 2. A common bisection technique-- split the problem, then, by "divide and conquer" go higher or lower and 3. Use interpolation to get closer sooner, then iterate.
The book is set up both as a self study and year long course text, but frankly the presentation is far from academic and much more rubber hits the road practical, realistic, design. The background is given with pseudocode, then the basic level of math needed to get the job done without pages of theory and proofs of Big Oh efficiency, etc.
Since 2008, the next edition in 2010, and this 2012 "printing corrections" edition (not considered a true edition, but contains many detailed corrections), this book has found a great audience in interview prep, because the author takes such a real world approach to solutions. Make sure you get the corrected edition if you buy from an Amazon third party vendor, you will if you get it directly from Amazon.
Highly recommended for all levels of programmers. The index also has been updated, and some of the previous reviews pointing out errors corrected, making this an outstanding reference. As if 700 pages weren't enough, the author also provides 19 sections of practical reviews of online resources and a detailed 43 page very current bib. If you're looking for a difficult to find "vein" of info (say, for example, on CAS algos), you'll find a wealth of info in these sections. Many volumes call themselves cookbooks, this really IS the best of that genre. If you can afford only one algo book, and want to use it without a tutor, teacher or coach, this is the one. Don't take that to mean it's simple-- it's just as deep as the academic texts, but simply removes all the math you don't use every day anyway. It's really more for programmers than researchers, but researchers would still learn a lot about how practical algo writers frame problems.
Library Picks reviews only for the benefit of Amazon shoppers and has nothing to do with Amazon, the authors, manufacturers or publishers of the items we review. We always buy the items we review for the sake of objectivity, and although we search for gems, are not shy about trashing an item if it's a waste of time or money for Amazon shoppers. If the reviewer identifies herself, her job or her field, it is only as a point of reference to help you gauge the background and any biases.
The contents of the book is great BTW. However I'd recommend buying direct from publisher.
ALSO: perhaps most importantly, if you are a recent graduate of a computer science program and you are trying to get a job in the field, this is the FIRST book I would recommend to review algorithms and data structures. DO NOT EVEN BOTHER to pick up CLRS (unless specifically directed to do otherwise), as more than likely the questions you will get during the interview will be some variation of the problems that you will encounter in here. I had at least one interview in which all of the problems were derivatives of those mentioned in here; unfortunately I had not yet found this book and so I was rather poorly prepared. When I first picked this up a few months later, I immediately recognized it's value and the fact that this was the only resource I had needed all along.