- Hardcover: 1320 pages
- Publisher: The MIT Press; 3 edition (15 September 2009)
- Language: English
- ISBN-10: 9780262033848
- ISBN-13: 978-0262033848
- ASIN: 0262033844
- Product Dimensions: 23.1 x 20.8 x 5.2 cm
- Boxed-product Weight: 2.3 Kg
- Average Customer Review: 4 customer reviews
- Amazon Bestsellers Rank: 3,533 in Books (See Top 100 in Books)
Introduction to Algorithms 3ed Hardcover – 15 Sep 2009
Frequently bought together
Customers who bought this item also bought
About the Author
Thomas Cormen is Professor of Computer Science at Dartmouth College. Charles Leiserson is Professor of Computer Science and Engineering at MIT. Ronald L. Rivest is Andrew and Erna Viterbi Professor of Electrical Engineering and Computer Science at MIT. Clifford Stein is Professor of Industrial Engineering and Operations Research at Columbia University.
Customers who viewed this item also viewed
Review this product
4 customer reviews
There was a problem filtering reviews right now. Please try again later.
This "hardcover" version, can barely be called a hardcover. It's just thicker, but still flexible card stock, not hard in the sense of other books that tend to be rigid (almost like wood). The only comparison I can think of is that it's similar to the card stock board game boxes are made of.
This book is always in the top 10 of recommended computer science books. I'm really hoping something a little more approachable comes along though. I don't like the code examples given, or some of the text that features heavy use of equations, which are difficult to keep in your head all at once.
While I commend the authors ability to write concise, meaningful explanations. There are some areas that could have been expanded on a little more to aid in understanding. I did find myself reading paragraphs multiple times to get their full meaning. So, in some areas it can be a difficult read, and so it helps to sometimes draw yourself a little diagram on what's happening.
In saying that, if you're a pro at mathematics, you'll probably do fine with this book. I'm not, so I struggled a little.
to have. Our education system let understand things superficially. If you have a book, you might have slight more chance to read again and agian until the knowledg and wisdome in the book becomes part of your mind.
This kind of near classical master pieces in the book market is disappearing. I think it is a really good chace to collect
Computer Science Classic book. These kind of books are worth to keep until the end of my programming career.
That said, this book is a fantastic resource for anyone looking for a complete treatment of data structures and algorithms. It sets the standard for this field, and I believe, is a required resource on every engineers bookshelf.
Most helpful customer reviews on Amazon.com
This book is impressive! It covers a lot of subject matter and is clearly worded. However, you're going to get lost because this often reads more like a reference manual than a conversation that appeals to intuition. You'll be pushed into analyzing algorithms for theoretical data structures that you fuzzily remember (if at all). But, nonetheless, throw enough man hours into this book and you will learn concrete approaches to determining just how hard you're making the computer work.
My biggest criticism is that, as an *introduction*, this book doesn't do the best job at warming up readers to new tools and methodologies. This is an 'eh, just push them into the deep end' kind of approach to learning.
- The introduction (Chapters 1-4) is really good and does a good job setting up all the fundamental concepts of algorithms. I think a lot of people tend to skip over introductions because they think they know all of it already, but this is an introduction that I recommend reading the whole way through.
- The book is a pretty light read (none of the math is too difficult) and each chapter is a good length.
- I think the material on dynamic programming and greedy algorithms was particularly enlightening, and if you read it the whole way through you actually learn how to prove that greedy algorithms work, instead of just being like "let's use a greedy algorithm because it seems right"
- I was able to copy a lot of CLRS code almost verbatim in my programming interviews and pass them.
- The figures are really well done and informative.
- The pseudocode has a lot of one-letter variable names, and while this follows the tradition of pure math, it also makes understanding the algorithms more difficult than it should be.
- Sometimes the pseudocode is not the "easiest" possible pseudocode (for example, merge sort), and I think it would be better if the authors presented a simpler version of the pseudocode first and then extended it to the optimal version. But then I guess CLRS would be even longer than it already is.
- The arrays are 1-indexed, which makes it trickier to convert to code. Also there are some sections of the textbook (the counting sort section) where some of the arrays are 0-indexed and other arrays are 1-indexed, which is just weird.
- I think the material on graphs, particularly the derivations, could be done in a more engaging and intuitive way. The derivations in Chapters 22-24 were a long series of small uninteresting lemmas, instead of a small number of harder, more insightful theorems. I found derivations elsewhere on the internet that were a lot more interesting and built more intuition about why the procedures worked. I feel like the rest of the book is pretty good though, so maybe all the graph stuff was written by a separate person who is not very good at explaining things.
I then re-read the section and take notes. I find that I feel somewhat lost at first when the book introduces a topic that I am unfamiliar with, but after reviewing it from a high level (youtube video) it helps me understand the algorithm on a surface level. Once I understand it in its simplest terms, the proofs become much simpler and they make a lot of sense.
I think to get everything out of this text you should be comfortable with data-structures, linear algebra and discrete mathematics. I found discrete math and linear algebra to be difficult courses, but this text is increasing my confidence in how much I had learned in those courses.
Great text but at times I feel lost. I wish the examples were more comprehensive at times.
My only complaint is that the binding has completely stated disintegrating after only 9 weeks of use. All of chapters 15 and 16 are completely falling out of my copy (and this is getting worse). Very disappointing as I plan on using it for a long time.
Great reference and great read when you need to get out of the box and think creatively.
For a more approachable intro to algorithms, check out Sedgewick's book. That book also has a companion website and Coursera course. it's hard to go wrong with that combo.