Home :: Books :: Computers & Internet  

Arts & Photography
Audio CDs
Audiocassettes
Biographies & Memoirs
Business & Investing
Children's Books
Christianity
Comics & Graphic Novels
Computers & Internet

Cooking, Food & Wine
Entertainment
Gay & Lesbian
Health, Mind & Body
History
Home & Garden
Horror
Literature & Fiction
Mystery & Thrillers
Nonfiction
Outdoors & Nature
Parenting & Families
Professional & Technical
Reference
Religion & Spirituality
Romance
Science
Science Fiction & Fantasy
Sports
Teens
Travel
Women's Fiction
Algorithms in C, Parts 1-4: Fundamentals, Data Structures, Sorting, Searching (3rd Edition)

Algorithms in C, Parts 1-4: Fundamentals, Data Structures, Sorting, Searching (3rd Edition)

List Price: $57.99
Your Price: $57.99
Product Info Reviews

<< 1 2 >>

Rating: 3 stars
Summary: Authoritative exposition, needs debugging
Review: 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.

Rating: 5 stars
Summary: A Great Book on Algorithms
Review: Robert does a good job of explaining the algorithms in this book, and there are quite a few algorithms. The sample code is short so you don't have to read through lots of user interface and driver code to get to the actual algorithm, and it is written so that it isn't hard to copy the code into your own programs and get it to work. The chapter on Introduction to the Analasys of Algorithms has lots of math in it, but the rest of the book contains much more code than math. This book is easy to follow, but it also contains a detailed description of the algorithms it presents. I can't wait until Part 2 of this book is published.

Rating: 5 stars
Summary: Exceptional love for fine detail of highest quality
Review: 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!

Rating: 4 stars
Summary: if you have time read this one.
Review: This book is a good one, only that you need time and effort to make things settle down. Good for a long term study.

Rating: 1 stars
Summary: Superfluous waffle and long winded explanations
Review: This has to be one of the most difficult texts I've come across. I have been a programmer for over 12 years, I'm used to dealing with language reference manuals, but this one takes the cake. It is full of superfluous waffle. I seems to me that a concept that could be summed up in one or two neat, concise sentences is dragged out for pages, and also, and this is the most annoying thing, said to be referred to in later chapters.

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.

Rating: 1 stars
Summary: why someone give the book 5 star?
Review: this is the first algorithms book i read, this is last robert sedgewick book i read.

Rating: 2 stars
Summary: Please include solutions.
Review: Yes, I agree with the "reader from RTP, NC". A technical book with no solutions is worth nothing. People always LEARN from mistakes. If there are no solutions, how would people know their mistakes? Learning is up to the reader. If they cheat by copying the solution, could that hurt you (the author)? Well, that would only hurt themselve down the road because they don't learn. They will pay the price in final exams or job interviews.


<< 1 2 >>

© 2004, ReviewFocus or its affiliates