Amazon Business Books with Buzz STEM nav_sap_plcc_ascpsc Starting at $39.99 Luxury Beauty March Birthstone Shop Popular Services themissing themissing themissing  All-New Echo Dot Starting at $49.99 Kindle Oasis GNO Tackle Any Terrain with Cycling on Amazon STEM

Format: Hardcover|Change
Price:$90.83+ Free shipping with Amazon Prime
Your rating(Clear)Rate this item

There was a problem filtering reviews right now. Please try again later.

Showing 1-10 of 321 reviews(Verified Purchases). See all 438 reviews
on March 20, 2016
For background, I am a not-so-sharp CS undergrad that used this book for an intro. to algorithms class. I've done linear algebra, struggled my way through a "calculus" probability course, and enjoyed implementing many typical data structures. My learning style relies on simple examples (especially visual) accompanied by a concise explanation. Here are my thoughts:

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.
22 comments| 15 people found this helpful. Was this review helpful to you?YesNoReport abuse
on August 19, 2016
An impressive volume that covers many many algorithmic strategies and is surely a major achievement in completeness and accuracy, and should also be pretty unique in its range from mathematical representations to concrete pseudo-code for algorithm implementation. Certainly a book to admire, featuring some excellent buildups and explanation paths. I imagine it to be highly esteemed as reference for undergraduate year-long series of lectures on algorithms in a university setting.

As such it probably earns more than the 3 stars I will give it from my own perspective. My reasons for this are inherent in my own relationship to the topic - as a "user" if you will.

I bought this book in order to dig deeper into my own conceptual understanding of algorithms, working by my myself.
For this purpose I found the book to be quite tedious. Disadvantageous are especially the fetishization of compact representations, a tendency mathematicians are known to have.
It really doesn't pull a lot of punches when it comes to dishing out mathematical expressions for the reader to patiently unfold for themselves in order to really grasp the meaning of the surrounding text - Ingestion of the material can become a true test of perseverance this way.

It also needs to be said that this is one of these books that bears "Introduction" in the title when it works in fact more like an encyclopedic heavyweight 1200 page quasi-complete survey of the field.
I'm writing this so you know what you are getting into. Be sure this is what you're looking for and what you need.
11 comment| 7 people found this helpful. Was this review helpful to you?YesNoReport abuse
on November 9, 2015
Just bought the Third edition Hardcover. And I find out that all the mathematical symbols in pictures becomes small squares. That's very hard to read especially some Greek letters are missing.
review image review image review image
11 comment| 62 people found this helpful. Was this review helpful to you?YesNoReport abuse
on May 10, 2014
I just finished an undergrad-level college course that used this book (3rd edition). Extremely in-depth on the topics that it covers, using formal mathematical notation throughout to present the algorithms. As many others have said, it's very math-heavy and I'd recommend that anyone thinking about learning from this book should already have a strong background in especially discrete math, but should also have some familiarity with single-variable calculus and probability. The appendices do a brief math review (on discrete math & probability) but are not a substitute for learning the math for the first time.

The book is essentially best described as a detailed, mathematically-oriented analysis of algorithmic theory and covers a wide variety of topics. Proofs of various concepts are built up with lemmas throughout as well, and many of the exercises in the book often ask for a proof to show that something is correct. The authors do provide a Solutions file online, but for only some exercises up through chapter 26 when it has 35 chapters.

The book more than "combines rigor and comprehensiveness" as it says on the back, and it will almost certainly be an indispensable reference in the future for anyone planning to work (or is already working) in a computer science-related field, but it also has some notable drawbacks as well, not the least of which is the title. A genuine "Introduction" to algorithms would've been either more accessible (with less math) or substantially shorter (at approximately half the page count or less), or both. As it is, the book's title could have more accurately reflected its density with something more like "Algorithm Theory In Depth" or "Algorithm Analysis". Fortunately the book includes an extensive index that lists out nearly every sub-topic that it covers for quick reference.

Some of the notable drawbacks include:
- It often shows that it was written by 4 different authors, as some topics are explained better than others (the graph algorithms overall were explained well) while others lacked sufficient clarity (recurrence relations, sorting in general, greedy algorithms, amortized analysis, NP completeness).
- Like many other academia-oriented textbooks, it suffers from overuse of the infamous pretentious phrase "it is easy to see," paticularly when it's not easy to see what the author is talking about.
- Chapter 4 suffers from a lack of explanation on solving recurrences by the recursion-tree and substitution methods, with insufficient examples.
- No exercises or content to help with actually implementing an algorithm in a programming language, because putting an algorithm into practice should be just as important as the theory.
- The authors write in the preface that the book is aimed at teachers, students, professionals, & their colleagues (!). A book that attempts to cater to both students and the authors' colleagues at the same time would appear to be paradoxical, right?
- Dry, dispassionate wording that fails to inspire the reader to continue reading the text, and continue learning past this book as well.

Despite the drawbacks it's a good, very dense & in-depth reference on the subject, but for those learning algorithms for the first time, I'd recommend one of these other books first that explain the concepts more clearly in plain English and then coming back to CLRS afterwards. Just pick the one based on the language you're most familiar with. I own copies of all of these books btw (a few in digital formats, not all of them in print) and can personally speak to their quality in offering clearer, easier-to-understand explanations of algorithms.
Data Structures In C, by Noel Kalicharan
Data Structures and Algorithms in C++ (3rd Edition), by Adam Drozdek (can't speak to the newer 4th Edition)
Data Structures and Algorithms in Java (2nd Edition), by Robert Lafore
Algorithms (4th Edition), by Robert Sedgewick & Kevin Wayne (uses Java)
Problem Solving with Algorithms and Data Structures Using Python SECOND EDITION, by Bradley Miller & David Ranum

If you're a college student that has to buy this book for your algorithms class like I had to, there are a variety of free resources online that should make the subject easier to learn along the way, like the MIT Open CourseWare resources on algorithms (course numbers 6.006 and 6.046), StackOverflow, GeeksforGeeks, and the sheer quantity of lecture slides available online at other colleges & universities. Coursera regularly has a free class on the subject as well.
0Comment| 13 people found this helpful. Was this review helpful to you?YesNoReport abuse
on January 10, 2017
Nice book, authors have tried their best to present complex topics in a simple way but I feel readers should have the stubbornness to complete it . I am still reading this book...
0Comment| One person found this helpful. Was this review helpful to you?YesNoReport abuse
on November 7, 2016
I had such high expectations for "Cormen" or "CLRS" as it is often referred to. On the back of the book some reviewers call it the bible of algorithms, and another mentions it is a complete encyclopedia of algorithms. After reading the text completely I was incredibly disappointed.

Starting from when the authors introduce the very first algorithm on page 18 which is Insertion Sort. The outer loop variable is named j, and the inner loop variable is named i. Never once in my programming career have I seen someone switch i and j like this; i always comes before j. The array itself is just named 'A', rather than something meaningful like 'items'.

One of the very next algorithms in the book is the merge function for merge sort on page 31. The function signature is named MERGE(A, p, q, r) and there are temporary variables of n1, n2, and k inside of the functions. I have attached photos so you can see how it looks. If you look at any other implementation online, they name the variables much better such as 'left' and 'right' rather than 'p' and 'q'.

This is supposed to be an introductory book for students yet the authors themselves cannot even name variables properly or explain anything simply. You will be much better served by going to Wikipedia and reading algorithms there.

People who say this is a complete encyclopedia of algorithms are sorely mistaken. There is zero information about Merkle trees (hash trees), which were discovered in 1979. The reason I know this is because I tried to use the book as an encyclopedia a few times, and found there were no entries for some of the most widely used algorithms in industry.

The authors themselves say the chapters can be read completely independently, and that there will be little continuity between the chapters. As you read the book the order seems to make no sense at all. They introduce the origins of the word algorithm, and Turing machines only after page 1000 in the book.

There is very little history in the book about when and why an algorithm was discovered, and the book makes zero effort to explain anything chronologically. At the end of each chapters there are foot notes for other academic texts. They often mention you should check Knuth for the history. Knuth wrote The Art Of Computer Programming which is so much superior to this book in every way. It is a shame that Knuth's book is not the standard college text book for computer science.

This book is responsible for an entire generation of programmers hating algorithms. It seems many professors just recommend this book without reading it themselves. I was wondering if these professors assign this book just to appear to sophisticated to their peers. The book is not an introduction at all; it is more like notes from one math professor to another where they cannot agree on terminology.

Lastly, I cannot state enough how terrible this book is to read. I almost quit the book many times because of it is dryness. The example problems offered have something like "Professor Bob went to the store..." These four authors could not even figure out how to craft any interesting problems themselves.

Stay far away from this book unless you are absolutely forced to read it. Unfortunately, many are being forced to read this atrocity, as the professors heap praise on each other for their supposed brilliance.
review image review image
11 comment| 45 people found this helpful. Was this review helpful to you?YesNoReport abuse
on January 12, 2017
Read this if you want to get into google, facebook or just avoid cognitive decline
0Comment| One person found this helpful. Was this review helpful to you?YesNoReport abuse
on March 6, 2017
This is an extremely useful and well-known book, but watch out for poorly photocopied (illegal) reprints such as the edition that I received.
0Comment|Was this review helpful to you?YesNoReport abuse
on March 14, 2017
Its good if you are a book person ( like to read to get information) . If reading it not your thing i would recommend another book.
0Comment|Was this review helpful to you?YesNoReport abuse
on January 28, 2014
It is a detailed algorithm book. Very friendly and excellent structure. Love it and need sometime to go through it.
0Comment|Was this review helpful to you?YesNoReport abuse