Most Helpful Customer Reviews
32 of 35 people found the following review helpful:
3.0 out of 5 stars
Authoritative exposition, needs debugging, May 19, 2001
This review is from: Algorithms in C, Parts 1-4: Fundamentals, Data Structures, Sorting, Searching (3rd Edition) (Pts. 1-4) (Paperback)
Prof. Sedgewick is a noted authority on searching and sorting algorithms, and a former student of Knuth's. The text is authoritative, lucid, and detailed. It is also full of mistakes, poorly edited, and much of the code has serious and not so serious bugs. I have the second, corrected printing of this edition. If you purchase this book, consider buying Bently's "Programming Perls" or some other book on debugging software, and consider Sedgewick's book to be an excellent opportunity to debug a standard reference in CS. In addition to scrutinizing the source code, don't accept any statement in Sedgewick unequivocally. Even his formula for computing the variance of a distribution is incorrect (the accompanying code is correct, though it magnifies the roundoff error; read "Numerical Recipies in C" by Press et al for a more civilized calculation). Many of his proofs have off by one errors, he misdefines the "transitive" property as "associative". Get the lastest printing available, eventually enough students and instructors will have gone through this book to ferret out most of its errors. There are no giant lapses in reasoning, and once it makes it out of beta, this should be a very fine book. A much better investment would be "Introduction to Algorithms" by Cormen, Lieserson, Rivest, a vastly superior and more interesting text. It has far greater scope of coverage on the subject of algorithms, and is both clearer and more carefully written, one of the most illuminating books I've read. However, volume 1 of Sedgewick, as it focuses solely on searching and sorting, covers these areas in greater depth, and discusses practical implementation issues, such as sentinels and hybrid sorts. As such, Sedgewick is a good compliment to CLR. Bear in mind that it is more densely written than CLR, and hence requires a more careful reading.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
26 of 30 people found the following review helpful:
5.0 out of 5 stars
Exceptional love for fine detail of highest quality, January 20, 2000
This review is from: Algorithms in C, Parts 1-4: Fundamentals, Data Structures, Sorting, Searching (3rd Edition) (Pts. 1-4) (Paperback)
There are many books about algorithms, just a few can impress and influence people acting on the very threshold between theoretical research and development of complex software. Robert Sedgewick codes very carefully. Some readers might even fail to recognize the fine details in his code. Try to analyse even the simplest 2-3 liners. Compare the program 4.5 (Linked list implementation of a pushdown stack) or 4.10 (FIFO queue linked list implementation) to similar examples given by lesser authors, figure out the the percentage of redundant code given by others compared to this examples (it is 50% to 300% faster for this elementary cases!). Another example: Look at the insertion sort with a sentinel. I am not aware of any other book showing this simple improvement. Also none of the insertion sorts which I saw in the practice use this so tiny add-on sentinel to achieve the quite dramatic speedup of the process. Naturally, in the time of 700MHz processors here and there a couple of extra instructions might appear unimportant, but I disagree. This is a book showing the basic algorithmics and programming practices in their best, down to the "two liners", regardless what the complexity of the task is. These little "pearls" of coding are in the real world running countless times behind the scenes and are important. Look carefully, learn, master to code as he does! As a very modern text, this is one of the few books dealing at least with some of the newer algorithms, like the skip lists or sorting networks. Not enough, though. Maybe we will see more in the next volume. There are also some omitions of the basic algorithms, which I would expect to be in such a book. See the rather terse chapter 7.8 about selection methods and look into Cormen, Leiserson, Rivest to see what I mean. Despite such complaints, in my eyes this book occupies the worlds top-level rank among texts about algorithms for people who really make software and not just call library functions. I cannot wait to get my hands on the next volume being in preparation. My (standard) point of criticism is that too many exercises are without answers and actually some of them are so complex that a nice chapter with yet some more algorithms would be in place. But almost every book about algorithms has this fault. On the end of a chapter you often see: Improve this, solve that. Its not good enough for a practitioner but it serves purpose for students. Extraordinary are the illustrations of algorithm visualizations which I like so much in this book. My tribut to the author to NOT to use the questionable quotes of famous people on the begin of each chapter, as it lately became an annoying habit. One of the worse examples of such a quote were the alleged words of Albert Einstein "make it as simple as possible but not simpler" placed in an book about C++ (what is a contradiction in itself and quite a presumption on authors part putting himself on a pedestal with... Einstein.) But exactly such a quote might almost be applied to this text. Congratulations Mr. Sedgewick!
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
16 of 19 people found the following review helpful:
2.0 out of 5 stars
Answers to exercises (at least half of them), please!, July 18, 1999
By A Customer
This review is from: Algorithms in C, Parts 1-4: Fundamentals, Data Structures, Sorting, Searching (3rd Edition) (Pts. 1-4) (Paperback)
I have decided that authors that are not willing to provide detailed solutions to at least the odd-numbered exercises are not worth reading. Why? Because first, where is the evidence that they know the answers to the exercises they present? But more importantly, how is the reader supposed to actually learn from the exercises if he can't see at least one possible solution and the rationale for that solution? This is the same reason why the Deitel & Deitel books are unacceptable. This isn't college anymore. Let's have some answers...if we knew how to do all this stuff already, we wouldn't need the book!
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
|