The most helpful favourable review

The most helpful critical review

5 of 5 people found the following review helpful

5.0 out of 5 starsTHE book to introduce algorithms
You shouldn't have to read this review... this book is unmatched in it's field - it's a great book for someone with no background in algorithms to start learning. The exercises are very interesting with some being more mathematical while others are thought provoking extensions to material covered in the book. It's easily the bible in this field. After this one can go on...

3.0 out of 5 starsremember, this is a TEXTbook...
and as such, it isn't a good place to look to if you're not taking a class concurrently. This is not an introduction to computer science or to what an algorithm is or basic computing as all of the bad reviews claim it to be deficient in. It was never intended to be those things. Yes it may be a bit hard to follow; Yes, it may be a bit more than you can handle; Yes, that...

This review is from: Introduction to Algorithms, Second Edition (Hardcover)

You shouldn't have to read this review... this book is unmatched in it's field - it's a great book for someone with no background in algorithms to start learning. The exercises are very interesting with some being more mathematical while others are thought provoking extensions to material covered in the book. It's easily the bible in this field. After this one can go on to more advanced specialized material like Papadimitriou, Motwani and Raghavan etc. If you don't have this book and you work with ANY kind of algorithms or do any kind of programming, you owe it to yourself to get it.

This review is from: Introduction to Algorithms, Second Edition (Hardcover)

Pros:- Good general book for basic algorithm stuff.- Tons of basic algorithms.- Thorough in proofs.- Very easy to follow once in case you have enough Math background (by either being a grad student or else if undergrad, read the first few chapters as well as Appendices well in advance to the course (Spend time solving the exercises and get familiar with the notation etc. before taking the course)Cons:-- I don't consider it a good idea to write algorithms with index starting from 1 instead of 0? Most popular languages used in the industry, have arrays starting from zero.- Most professors that I have discussed it with agree that this is not the best book for the subject but probably the only one with this much material in it.

This review is from: Introduction to Algorithms, Second Edition (Hardcover)

While many have noted how Thomas Corwen and his co-authors have added a scholarly touch to this subject with plenty of proofs it does not make for a good text. One can argue that this book should supplement the instructor's teachings. That would be fine except for the fact that there are no answers to the problems. Therefore, a student has no idea if he or she is on the right track. To this end Corwen snidely replies on his website that any student asking for the answer will have his or her name posted as a potential cheater since Corwen believes that instructors should be able to use his problems as homework. Here's an idea, how about instructors developing their own problems! Corwen also does not relate the material in plain English as someone like Frank Carrano does. There are other sources of many of the concepts like binary search trees, sorting algorithms, O-notation. The only thing Corwen is adding is lots of proof and mathematical shorthand. If you are interested in the mathematical concepts behind the algorithms this is a fine introduction. If you are interested in the algorithmic concepts, this is not for you. Ultimately if you are a student whose instructor will be using this book, you have no choice about buying it. If you are an instructor, however, look at another book to supplement your teachings.

This review is from: Introduction to Algorithms, Second Edition (Hardcover)

I purchased the book because it was required for my undergraduate algorithm analysis class. My experience so far has been terrible. My instructor was incapable of getting across even the basic concepts and he was constantly making mistakes and backpedaling. It didn't help either that he didn't make the slides used in the class and only saw them for the first time when he walked into the class. All of this and a weak background preparatory at the beginning of the class made the book a rather excruciating book to learn from. It is indeed a book of depth and knowledge, but it can be used against you as easily as it can be used for your advancement. Due to my bad experience, I'm inclined to look at CLR rather negatively. I would dearly love to take another algorithm class with a truely competent instructor but since there isn't one in my immediate future, it'll be a while before I'm given a chance to revise my opinion of the book.The book can be an excellent source of algorithmatic knowledge but it's hardly an "introduction" for the beginners and used wrong will very easily dampen any futher computer science ambitions.

This review is from: Introduction to Algorithms, Second Edition (Hardcover)

this is possibly the best book for the course 'Data structures and analysis of algorithms'.Knuth is far too advanced and many others are not even worth mentioning.The best part is that it is very perspicuous but does not compromise on mathematical rigour.The proofs of correctness are very elegant as are the detalied analyses of all the algorithms.Actually,the mathematical approach that the authors employ is very enjoyable.A full section devoted to the mathematical tools is a very good idea.All the topics viz. data structures, sorting techniques,graphs,design techniques like dynamic programming,greedy algorithms,Divide-n-conquer r given in extensive detail.(since i m only a second yr under grad student,i havent read the more advanced topics like FFT,computational geometry,NP-completeness.)The exercises make you think and test both mathematical acumen and programming dexterity.many of them require a fair bit of creativity.As another reviewer pointed out, this book is the one for budding computer scientists and software engineers,not for the 'learn XYZ in 21 hours' fans.a bit of background in a structured programming language(Pascal ,C etc.) and more importantly,knowledge of the fundamentals of discrete mathematics is required.A must buy for all CS students.

This review is from: Introduction to Algorithms, Second Edition (Hardcover)

I had heard much about this book before I purchased it but since it was never required I had never actually looked at it until recently.Well its reputation is well deserved. This book is certainly COMPREHENSIVE if nothing else. I cannot imagine a common algorithm that is not explained and analyzed in this book, from Discrete Fourier Transform to Computational Geometry it is all here.Also I like the fact that the material is presented in such a way that it is easy to study by yourself. The style is informal, and although rigorous proofs are also provided the emphasis is on the intuition behind the algorithm.There are substantial appendices and an easy introduction section, such that you need very little mathematical background at all to be able to benefit from this text.Overall, I cannot imagine that there is another algorithms textbook that is as comprehensive and rigorous as this one.The only downside is that it is very hefty and correspondingly expensive. But if you are a novice in algorithms and want an easy to follow text I can highly recommend it.

This review is from: Introduction to Algorithms, Second Edition (Hardcover)

Over the past two years I have taken both undergraduate and graduate level algorithms classes that used this textbook. I often had this book in my car, or on my desk at work, and people would come up and comment on it as if it was a long lost friend!This is truly a fanatastic effort, and there is a good reason that so many engineers are familiar with this book. If I were to teach an algorithms class myself I would certainly use it. I know some people do not like the psuedocode that is used, but I think that it is ok, once you get used to it.One reason I gave this 4 stars instead of 5 is because the "new edition" seems to really only have small changes in it. I used the first edition for my undergraduate class, and less than a year later had to buy the 2nd edition for my graduate class :-( I found this rather annoying. It seems like the authors reorganized the book just to extract more money out of students like myself, so that I would have to buy 2 copies instead of being able to use the same book in more than one semester. I will have a hard time reselling the first edition now as well. I know that this is a common practice in the textbook industry, but that does not make it right. The changes in the second edition seem to be very minor, and not worth shelling out another large chunk of money.

This review is from: Introduction to Algorithms, Second Edition (Hardcover)

While working as a software engineer, my supervisor, who also wrote programs for a living, had a book on his shelf, "Data Structures and Algorithms", written by Horowitz and Sahni. It was one of the most tattered-looking hardback books I had ever seen! (a true indicator of the worth of a book). Moreover, I view the Cormer, Leiserson, Rivest book as an updated version of this book, in that it has the same core content of data structures and algorithms, and presents the algorithms in psuedocode instead of a GPL like C++. I find this book, however, not only better written than its predecessor, but also containing a number of advanced chapters (e.g. computational geometry and parallel computation) that reflects the explosion of the study of algorithms over the past 20 years. If I had to choose one book on data structures and algorithms to have on my shelf it would be this one, as no other modern text compares with it in terms of its breadth and depth of the subject material. However, for those students or practitioners who prefer to learn about data structures and algorithms within the context of a progromming language, I recommend Mark Weiss's book on data structures and algorithms, both in Java and in C++. His book seems less developed and rigorous, but he gives good examples, explanations, and more practical insights.

This review is from: Introduction to Algorithms, Second Edition (Hardcover)

and as such, it isn't a good place to look to if you're not taking a class concurrently. This is not an introduction to computer science or to what an algorithm is or basic computing as all of the bad reviews claim it to be deficient in. It was never intended to be those things. Yes it may be a bit hard to follow; Yes, it may be a bit more than you can handle; Yes, that is what analysis of algorithms is. If you don't already understand most of the stuff in the first two chapters before you start, you're not going to get much from this book. It is not by any means for beginners of any type and is instead intended to give an overview of how to analyze algoritms for computer science problems. As for the one reviewer who complained that this book focuses too much on the "useless" basics of computer science and not enough on modern applications of computer science like AI, of course it does...what the hell do you think INTRODUCTION is supposed to mean. You can't expect to dive headlong into more advanced and complicated stuff until you understand the basics.And yes, the psuedo-code kinda [bad]. The book isn't perfect but it does what it's intended to and doesn't do what some people expect from the title. If you bought this and don't understand a word of it, keep it around and try something else first, or take classes on programming and data structures...then come back and it will make more sense.

This review is from: Introduction to Algorithms, Second Edition (Hardcover)

The problem with this book from a beginner's perspective is the horrible pseudocode. It is *ambiguous* in some parts. For instance, right at the start, in insertion sort, it divides an array of length[A]=n in two parts, one being A[1..j-1] (sorted) and the other (unsorted) being A[j + 1..n].OK. However, the for loop starts with for j:= 2 to length[A]. So, they're being pedantic: mixing mathematical rigorousness with ambiguous pseudocode. Slot-value is confounded with array indexes (position), too. Maybe the problem stems from the bias of the pseudocode towards Pascal and C-like languages, which must be the reason why people excuse the confusion, since they're prone to it anyhow, programming in primitive languages such as those two. For example, references to how pointers relate to its pseudocode would have no place in the book , had they really given more thought to the way they write that pseudocode. Write the damn thing in C, already (*not* Pascal - that's for kids)!It does not make good algorithmic use of brain-cell caloric use, sometimes.There's a (quite) extensive list of errors on the on-line page. Please check it before going mad.So while it seems to be a very complete book, it doesn't get the message accross with even some simple algorithms. We are all suppose to love it because it is from M.I.T., but the fact of the matter is that you'll need books more student-oriented.Buy it for reference, anyhow. It's worth the money.