Full description not available
J**H
Very enjoyable, but confusing at times
Algorithms is the type of subject that can make you put your hand on your head in frustration due to the technical nature of the subject. This book does a terrific job of demystifying topics and giving you a clear and concise notion of the fundamentals which make the algorithm work. In turn, the authors have gotten me to love learning about algorithms. Every chapter is a new challenge, and the authors are there to help guide you the whole way.Cormen's Algorithms book is highly regarded as one of the best algorithms book out there, and though I have no experience with any other algorithms texts, it's fairly obvious to me now why that is true. Cormen's book is mostly well-organized, is easily readable (especially with all the great pictures and examples!), and is best used as a workbook text. Pretty much all of the chapters rely on chapters previous to some degree, and the exercises especially reflect this behavior as many of them require you to you optimization learned in previous chapters to modify current algorithms. Overall, I have very few complaints, and this text has been one of my favorites throughout college.My first complaint is that the text begins by throwing you in to the analysis of insertion sort before defining any notation or mathematics used to analyze the algorithm. While I understand that the idea is to introduce you to what algorithm analysis really is, the chapter felt more confusing than helpful. I would much rather the book started with background information first.Secondly, the mathematical chapters are very brief and vague. Chapters 4 and 5 are particularly bad due to the lack of depth, explanation, and clarity. The examples are far from satisfactory, particularly those regarding probability and recurrences. While these chapters had excellent problem sets, I needed an external source to help me deal with cases not covered in the text. One example of a topic I had trouble with was solving for the number of levels a recurrence tree has. The book only presents trivial examples of this while the problem sets ask for significantly more work. One or two worked out examples, even if they were only included in the selected answers, would have been very helpful.The last issue that I had with the book was the lack of explanation given in the analysis of specific algorithms. For example, the runtime analysis of Kruskal's minimum spanning tree algorithm felt far from intuitive. The author does not take enough time to explain where some analysis techniques came from and why they were used. Though many of the algorithms are discussed in enough detail, there are several more advanced algorithms which feel like they were thrown into the text without enough care.Despite all these issues I've been very pleased with my purchase and the time I've invested in it. I would recommend the book to anyone with interest in algorithms. While some knowledge of basic mathematical analysis and probability theory would be helpful, it's pretty easy to get by without either of these. Though the explanation of some of the more technical parts of the book is lacking, the authors do a great job of translating complicated psuedo-code and notational necessities into something which is very easy to understand
C**O
Telmo Costa
A fundamental classic to programmers and high level software engineers
A**R
Very in-depth text but lacks accessibility, clarity, & inspiration
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 RanumIf 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.
Y**S
Received A Xerox Copy
Firstly, this is not the international edition. It's the Eastern economy edition. And the book I received, sold by "law book world", seems like a xerox copy. Doesn't seem legit. Disappointed about that.But I got it for a price of 900 Rs. Still, it's not correct for the seller to ship a Xerox copy. And the quality of the xerox is not good as well because in many pages, the ink is too light and almost not readable.Coming to the book itself, it's a great book and no doubt it. Recommend this book to anyone who wants to study algorithms.
V**V
Seems like Copy of book instead of original book.
It seems like amazon provided copy version of book. Even the figures are not clear.
D**F
Book is missing of pages
I have bought this book years ago but only now I have realised that over 100 pages are missing (I usually use an electronic version of it). You clearly can see from the images that it is not possible seeing the missing pages from the side of the tome that means the book is was originally faulty. Over £32! That is what you call a proper SCAM!
S**R
Tends to student textbook rather than cookbook of algorithms
Comprehensive and large selection of algorithms with emphasis on analysis of the runtime of the algorithms. Written as student textbook so some of elaboration and analysis is presented as exercises to be completed. The algorithms themselves are clearly described and given in pseudo-code, but there is no difficulty transcribing them into an actual language.On balance given 5* for comprehensive coverage of algorithms and clear descriptions - but don't expect a pure cookbook of algorithms that can be typed in or downloaded.
S**M
This is THE textbook on algorithms
This is the definitive textbook on algorithms, and something no Computer Science student or researcher should ever be without.That said, the approach, whilst detailed, is at times quite dry and heavy going, and could perhaps be broken up a little more to keep the reader refreshed and focused.
Trustpilot
3 weeks ago
1 week ago