5.0 out of 5 stars A good overview of algorithms...
I haven't been into algorithms and such things for very long, and yet I find that, with a bit of patience and good will, it's not that hard to understand, contrary to some other review. Of course, it's a long book, but then, if you can't be perseverant enough to read such a book, the best solution is just to stay home and do something else! If you want the information...
Published on April 15 2000 by Jonathan Neve
3.0 out of 5 stars Authoritative exposition, needs debugging
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...
Published on May 20 2001 by Dougabug
Most Helpful First | Newest First
3.0 out of 5 stars Authoritative exposition, needs debugging,
This review is from: Algorithms in C, Parts 1-4: Fundamentals, Data Structures, Sorting, Searching (3rd Edition) (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.
2.0 out of 5 stars ERRONIOUS CODE!!! How can you trust the rest of the book?,
This review is from: Algorithms in C, Parts 1-4: Fundamentals, Data Structures, Sorting, Searching (3rd Edition) (Paperback)Errors start right from the beginning with code listing 1.2 ( three errors in four liner) and goes on with ambiguous coding style. Even for a junior programmer it won't be proper to make his code public with such an errors.
If you want to debug authors code for free, this is the book for you. However, considering that it is third edition already and errors are still there, the author probably won't care much if you correct it anyway. Or does he? Yes, I was frustrated, wasting two hours of beautiful Saturday morning on scraping supposedly impeccable code.
His acclaimed teacher Dr. Knuth was smarter providing code in 'toy' language that nobody use, test or bother to correct even for $1K, but he at least never promised to provide you any useful code.
In general, easy readable text, good style, much better than some other books, but yet, superfluous coverage of algorithms analysis. It would have been less misleading if author drops 'in C' for something implementation independent. But on the contrary, the author went on with 'in C++', 'in Java'. Given the pattern of lax coding here, I wonder are those books just as 'slippery'.
As for algorithms in C, I think that even the related parts of "Introductory C" by Petersen will be more useful. It works there.
5.0 out of 5 stars A good overview of algorithms...,
This review is from: Algorithms in C, Parts 1-4: Fundamentals, Data Structures, Sorting, Searching (3rd Edition) (Paperback)I haven't been into algorithms and such things for very long, and yet I find that, with a bit of patience and good will, it's not that hard to understand, contrary to some other review. Of course, it's a long book, but then, if you can't be perseverant enough to read such a book, the best solution is just to stay home and do something else! If you want the information given in the book, you're jolly well goning to have to read it!
I found this book a very good introduction to algorithms. Of course, as it's a very vast subject, some things were not covered quite as much as some may desire, but this book studies sorting and searching very extensivly, as well as string matching, geometric and mathematical algorithms. It also talks about other subjects such as crytography, data compression, etc, but these are less explained. At any rate, for such subjects as are not fully detailed(in fact, for all subjects), there are references to other books upon the subject.
I think this is a very good book to begin with, because it reaches a compromise between completeness and rigourous mathematical dealing of subjects on the one hand, and readability on the other. It gives explainations about the fundamentals of algorithmics, gives and extensively explains the basic, widely used algorithms, while giving the beginner a view of a wide variety of other subjects, which he can then further investigate if he so desires. After a book such as this, one could very well go onto very advanced algorithmic topics in some very specific field.
And yet, again, it leads you through it step by step so that it fully available to the motivated reader.
5.0 out of 5 stars Exceptional love for fine detail of highest quality,
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!
4.0 out of 5 stars if you have time read this one.,
By A Customer
1.0 out of 5 stars Superfluous waffle and long winded explanations,
By A Customer
After 6 weeks with this as the prescribed text for the current course that I'm doing, I've decided to go to another text.
2.0 out of 5 stars Please include solutions.,
By A Customer
2.0 out of 5 stars Answers to exercises (at least half of them), please!,
By A Customer
1.0 out of 5 stars Why do people like this book?,
By A Customer
This reviewer took Sedgewick's class at Princeton University where this book was the required text, and not only was the text poor, his lectures were terribly boring. He himself even recognized that there were errors in his book, and so he allowed his students and TA's to submit errors found in the book. At the end of the year, the list of references to mistakes in the book took up more than three pages.
This review is not the result of a student upset about his grade (an A is fine with me), but is rather an attempt to warn students about the potential pitfalls that may be encountered in reading Sedgewick's book. I suppose this could be a great book for an intermediate or advanced CS student who doesn't mind the sparse and sometimes erroneous code or the terse language used to describe fairly complex ideas. Also, there are some parts of the book that are well written and a pleasure to read. However, I would never recomend this book to anyone interested in learning algorithms for this first time without a fair amount of prior programming experience.
3.0 out of 5 stars THE place for standard methods - but just half the way,
Most Helpful First | Newest First
Algorithms in C, Parts 1-4: Fundamentals, Data Structures, Sorting, Searching (3rd Edition) by Robert Sedgewick (Paperback - Sept. 17 1997)
CDN$ 83.99 CDN$ 68.04