Customer Reviews


76 Reviews
5 star:
 (50)
4 star:
 (14)
3 star:
 (5)
2 star:
 (4)
1 star:
 (3)
 
 
 
 
 
Average Customer Review
Share your thoughts with other customers
Create your own review
 
 

The most helpful favorable review
The most helpful critical review


36 of 38 people found the following review helpful
4.0 out of 5 stars Great book. Maybe a beginner book, but not for comp sci novices!
I've got the Cormen book as well, which I love. This book is a much more readable text, by far. I think that others here have broken down the areas covered quite well; so I'll just give a stream of consciousness version of what I liked about the book.

It gives the subject matter with from a need to know standpoint. It also gives you real world examples of...
Published on October 3, 2010 by E. Jones

versus
23 of 26 people found the following review helpful
3.0 out of 5 stars Infusion of knowledge for the non-computer scientist
This book was recommended to me by a member of a large company that starts with G and rhymes with noodle...
He explained that it "the best" for learning algorithmns. Being out of university for many years, and being a mechanical/software engineer vs a computer scientist, I needed something to refresh my memory and teach me what I did not know about algorithms...
Published 14 months ago by Ari Telias


‹ Previous | 1 28 | Next ›
Most Helpful First | Newest First

36 of 38 people found the following review helpful
4.0 out of 5 stars Great book. Maybe a beginner book, but not for comp sci novices!, October 3, 2010
By 
E. Jones (San Diego, CA) - See all my reviews
(REAL NAME)   
Verified Purchase(What's this?)
I've got the Cormen book as well, which I love. This book is a much more readable text, by far. I think that others here have broken down the areas covered quite well; so I'll just give a stream of consciousness version of what I liked about the book.

It gives the subject matter with from a need to know standpoint. It also gives you real world examples of how the author has had to utilize algorithms not just to implement a particular solution, but to also optimize existing solutions. Although it doesn't give the hardcore theoretical breakdowns in Cormen's text, don't think that the subject matter is presented in a lightweight format. You will still be given some level of mathematical proof for some algorithms and data structure optimizations.

Although less terse than the typical text on Algorithms, it doesn't try too hard to be cute and quirky. The humor is well placed and not too overbearing.

Though less academic than "Introduction To Algorithms", this ain't the book to pickup to learn about coding algorithms for a quick study prior to an interview. However, if you're planning to get ready for interviews maybe a few months down the road...go for it!

A caveat...I got the Kindle version for the Android, which is none too forgiving when it comes to images. So diagrams look horrible on the phone (even with the DroidX's big-assed screen). It looks fine on the laptop, however.

Enjoy!
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


44 of 50 people found the following review helpful
5.0 out of 5 stars Good book, October 3, 2012
Verified Purchase(What's this?)
[update - Feb, 2014]

Several other reviewers say that the problems I reported originally with the Kindle edition of this book have been fixed. I no longer own the book (got a refund in 2012), so can't confirm that directly. Changing the review title and upgrading to 5 stars accordingly (I would prefer just to delete the review entirely but that does not appear to be possible).

--------

[original review - Oct, 2012]

It's a good book but I have discovered that key parts of the Kindle edition are garbled, making the book useless. Buy the physical book, not the Kindle edition, don't make my mistake!

For example, take a look at the "ClosestPair(P)" algorithm described on p7 of the hardcover edition, see the preview http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1848000693/ref=tmm_hrd_title_0 . Compare that to the same algorithm shown in the Kindle edition: http://www.amazon.com/The-Algorithm-Design-Manual-ebook/dp/B0016H523Q/ref=tmm_kin_title_0 . The indentation is completely messed up and worse yet, there are other mistakes like "if dist(s, t) <= d" becomes "if dist(s, t) = d" (the "<=" changes to just "=") that are completely wrong.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


77 of 91 people found the following review helpful
5.0 out of 5 stars Could be called "The Joy of Algorithms", December 31, 2009
By 
George H. (Wilmington Delaware) - See all my reviews
Verified Purchase(What's this?)
My Dad loved to cook and one of his favorite cookbooks was "The Joy of Cooking." By the time he died, the pages of his copy were stained and dusted with flour from being constantly used in his kitchen.

Why did he like it so much? Because not only did it have great recipes, it also explored the basic ingredients and methods and told interesting stories about cooking.

That's why "The Algorithm Design Manual" could be called "The Joy of Algorithms." Not only has it become my "goto" book for finding the right algorithmic approach to a problem, it is a joy to read with Skiena's "war stories" and his lively writing style.

Just like my Dad's "The Joy of Cooking" was never far from his stove, "The Algorithm Design Manual" will never be far from my computer.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


23 of 26 people found the following review helpful
3.0 out of 5 stars Infusion of knowledge for the non-computer scientist, June 26, 2013
By 
This review is from: The Algorithm Design Manual (Paperback)
This book was recommended to me by a member of a large company that starts with G and rhymes with noodle...
He explained that it "the best" for learning algorithmns. Being out of university for many years, and being a mechanical/software engineer vs a computer scientist, I needed something to refresh my memory and teach me what I did not know about algorithms.

So the good first:
1. I was able to read (almost, see point 4) the whole book (663 actual pages to read) in 5 nights (at 4-5 hours per night), so it is good if you need the knowledge in a rush.
2. Most of the knowledge is quite comprehensible. Specifically the basic concepts: Big-O notation, logarithmic behaviour, data structures, graph traversal.
3. The second part of the book is more like a reference, so if you have a problem to solve, you can go there and use that to direct you to the appropriate algorithms.
4. I did not read the "war stories", lack of time and lack of interest. Those are where the author tells us his brave battles against the algorithms.

The Bad:
1. Some topics are not explained clear enough: I could NOT understand the important sorts (Quick, Merge, Heap) just by reading the book. I tried as hard as I could, but only when I went to "the net", read it again, and actually coded the things myself + going line by line with the debugeer I finally understood them.
2. The code samples actually make function calls to functions that are not written there. You are left hangin' - what do we do now?
3. Trees: Splay trees, black red trees, AVL trees, B-Trees and tries - they are barely mentioned or given a few words. Not enough, in my humble opinion.
4. Weighted graph problems: Either the topic is for genius level only, or I am an idiot, or the explanation was horrible. Chose any two... Didn't understand anything.

Well, hope I didn't bore you too much. Good luck with your algorithms!

Cheers

Ari
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


15 of 17 people found the following review helpful
5.0 out of 5 stars Best Intro To Algorithms, October 25, 2009
By 
Verified Purchase(What's this?)
I've read through the first half of the book, and am now at the catalog of algorithms that makes up the second half, and I've really enjoyed the book so far.

Most books on algorithms take a very formal, math heavy approach in which they present, analyze and prove things about a somewhat arbitrary collection of algorithms. There's usually no mention of real world applications.

This book, however, takes a different approach, and serves as a guide book for using algorithms in the real world. There's a heavy emphasis on formulating problems in terms of existing, solved problems. If you can "map" your problem to one with a known solution, then you can use the proven, existing solution to solve your problem. To emphasize that point, roughly the entire second half of the book is a catalog of known problems and solutions, with references to software libraries, books and other sources of information.

I also love that the example code is in C. Too many books give example code in languages with a lot of overhead, like Java, and end up obscuring the important parts with a ton of object-oriented crap. Yes - OOP is nice, but unless I'm reading a book on OOP, I don't want to dig through 30 lines of irrelevant boilerplate just to find the 10 lines relevant to the algorithm.

That said, it's not the best code in the world. Some of the snippets could be explained better. And there were a few stylistic issues, such as leaving off function return types and a bunch of global variables, that I didn't like, but I'm willing to forgive those because it's not a book on C, and the lack of syntactic clutter made the algorithm easier to see.

I also thought chapter nine was a bit too long. A good portion of the chapter is spent reducing various NP-complete problems to other NP-complete problems. Interesting, but it was a bit too theoretical, and didn't really fit with the with the rest of the book.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


6 of 6 people found the following review helpful
4.0 out of 5 stars GREAT book but lots of ERRORS in code samples, May 9, 2012
By 
Jack Daniels (San Francisco, CA) - See all my reviews
I purchased this book to compliment Introduction to Algorithms which sometimes is difficult for me to grasp because of its academic style. So I just read chapter on something in Skiena and then read the same thing in Cormen with proofs and such. It works very well for me.

The Algorithm Design Manual is great. It's very easy to understand and War Stories are awesome :) But code samples have WAY TO MANY errors. For example Skiena says that given example of heapsort is in-place but it's not. Partitioning function of quicksort is simply wrong. He doesn't move position of right side of the array. Implementation with while loops would be easier to understand.

Plus variable names in code snippets could be better. Come on, every software development books says to give meaningful names to variables! But when you see four functions full of "i, j, j k, p"-s it makes understanding actual implementation hard because you can't see all functions at once. By the time you flip three pages back you may forget what each variable is for.

So I definitely recommend this book but I don't understand why publisher doesn't fix the errors in at least Kindle version (which I bought).

Crowdsource it, for example. I'm ready to contribute :)
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


9 of 10 people found the following review helpful
3.0 out of 5 stars Good, but Kindle has typos, May 4, 2012
Verified Purchase(What's this?)
This is a wonderful book for software folks, but Amazon managed to butcher the Kindle edition again. Things like code examples have serious typos that ruin the utility of them. What good is an algorithm book that has typos in the algorithms? I would have given 5 stars for the book itself if it weren't for the typos.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


7 of 8 people found the following review helpful
3.0 out of 5 stars Great material, so-so writing, deadly errors, May 31, 2012
By 
L. Edelstein (San Francisco, CA United States) - See all my reviews
Verified Purchase(What's this?)
I haven't made my way through the entirety of the book yet, but I've learned a bunch, refreshed my memory on a lot of material, and struggled every step of the way. The author often words sentences carelessly, leaving the reader with ambiguities they must deal with before understanding the point. And there are many errata that will foil you. The errata list available on the author's website isn't as helpful as it might be because the Kindle edition of this book does not offer page numbers.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


12 of 15 people found the following review helpful
5.0 out of 5 stars Good material - Index sucks, April 6, 2011
Verified Purchase(What's this?)
This review is from: The Algorithm Design Manual (Paperback)
I recently bought the second edition in order to do some personal research and, as such, did not plan on reading the book from cover-to-cover. I intend to use the book as a reference and therefore utilize mainly the index and, to a lesser extent, the table of contents. Yes the material is this book is, in general, sufficient, but the index is bogus. The following presents some examples in order to valid my claim (again, I am referring to the second edition and I am NOT making any claims against the first edition):

(1) Splines --> p. 294 --> Intro to numerical problems with no reference to splines.
(2) Lisp --> p. 409 --> Section on (un)constrained optimisation - no Lisp.
(3) Linked lists -->
(3a) only mentioned in terms of linked lists vs arrays. Correct on p. 368
(3b) p. 72 --> Section stacks/queues or dictionaries. It should refer to pg. 70

My only other complaint (so far) is rather minor and came about while reading the first chapter. In particular, section 1.3.4 on Induction and recursion where the author attempts to use induction in order to prove some function Increment(y). Technically the author is using strong induction and not mathematical induction.

These are just some of the examples of how Springer and their talented editorial staff goofed up, not a representative picture meant to portray the book as an overall failure. As mentioned previously, I would highly recommend this book provided you can get over a faulty index and are not overly pedantic when it comes to someone elses use of Mathematical terminology.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


4 of 4 people found the following review helpful
5.0 out of 5 stars GREAT for Self Study OR Reference, April 10, 2013
Verified Purchase(What's this?)
This review is from: The Algorithm Design Manual (Paperback)
This text strikes a perfect balance between too complex and too simple-- with hundreds of practical techniques that give a great overview of nearly every type of algorithm problem we encounter. This is NOT a "theory" text about big Oh (although it has a chapter), efficiency, p vs np and advanced calculus and linear algebra, but does show practical ways to design algorithms and answer questions in that interview.

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.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


‹ Previous | 1 28 | Next ›
Most Helpful First | Newest First

Details

The Algorithm Design Manual
The Algorithm Design Manual by Steve Skiena (Paperback - October 13, 2010)
$89.95 $83.85
In Stock
Add to cart Add to wishlist
Search these reviews only
Rate and Discover Movies
Send us feedback How can we make Amazon Customer Reviews better for you? Let us know here.