
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Introduction to Algorithms 2nd Edition
In its new edition, Introduction to Algorithms continues to provide a comprehensive introduction to the modern study of algorithms. The revision has been updated to reflect changes in the years since the book's original publication. New chapters on the role of algorithms in computing and on probabilistic analysis and randomized algorithms have been included. Sections throughout the book have been rewritten for increased clarity, and material has been added wherever a fuller explanation has seemed useful or new information warrants expanded coverage.
As in the classic first edition, this new edition of Introduction to Algorithms presents a rich variety of algorithms and covers them in considerable depth while making their design and analysis accessible to all levels of readers. Further, the algorithms are presented in pseudocode to make the book easily accessible to students from all programming language backgrounds.
Each chapter presents an algorithm, a design technique, an application area, or a related topic. The chapters are not dependent on one another, so the instructor can organize his or her use of the book in the way that best suits the course's needs. Additionally, the new edition offers a 25% increase over the first edition in the number of problems, giving the book 155 problems and over 900 exercises that reinforce the concepts the students are learning.
- ISBN-100072970545
- ISBN-13978-0072970548
- Edition2nd
- PublisherMcGraw-Hill Science/Engineering/Math
- Publication dateDecember 16, 2003
- LanguageEnglish
- Dimensions8.2 x 1.9 x 9.3 inches
- Print length1056 pages
Customers who viewed this item also viewed
Product details
- Publisher : McGraw-Hill Science/Engineering/Math; 2nd edition (December 16, 2003)
- Language : English
- Hardcover : 1056 pages
- ISBN-10 : 0072970545
- ISBN-13 : 978-0072970548
- Item Weight : 5.25 pounds
- Dimensions : 8.2 x 1.9 x 9.3 inches
- Best Sellers Rank: #5,723,423 in Books (See Top 100 in Books)
- #110 in Computer Algorithms
- #422 in Programming Algorithms
- #11,838 in Mathematics (Books)
- Customer Reviews:
About the authors
Thomas H. Cormen is Emeritus Professor and former Chair of the Dartmouth College Department of Computer Science and former director of the Dartmouth College Institute for Writing and Rhetoric. He received the B.S.E. degree in Electrical Engineering and Computer Science from Princeton University in 1978 and the S.M. and Ph.D. degrees in Electrical Engineering and Computer Science from MIT in 1986 and 1993, respectively. He is coauthor of the leading textbook on computer algorithms, Introduction to Algorithms, which he wrote with Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. The book, now in its fourth edition, has been translated into several languages. He is also the author of Algorithms Unlocked, a gentle introduction to understanding computer algorithms and how they relate to real-world problems.
Since retiring from Dartmouth, Cormen serves in the New Hampshire House of Representatives, representing the city of Lebanon, New Hampshire. He serves on the Science, Technology and Energy Committee.
In his spare time, Cormen likes skating (inline and nordic), paddling, and cooking and eating barbecue. He considers himself the world's worst electrician who has a Ph.D. in electrical engineering.
Ronald Linn Rivest (/rɪˈvɛst/; born May 6, 1947) is a cryptographer and an Institute Professor at MIT. He is a member of MIT's Department of Electrical Engineering and Computer Science (EECS) and a member of MIT's Computer Science and Artificial Intelligence Laboratory (CSAIL). He was a member of the Election Assistance Commission's Technical Guidelines Development Committee, tasked with assisting the EAC in drafting the Voluntary Voting System Guidelines.
Rivest is one of the inventors of the RSA algorithm (along with Adi Shamir and Len Adleman). He is the inventor of the symmetric key encryption algorithms RC2, RC4, RC5, and co-inventor of RC6. The "RC" stands for "Rivest Cipher", or alternatively, "Ron's Code". (RC3 was broken at RSA Security during development; similarly, RC1 was never published.) He also authored the MD2, MD4, MD5 and MD6 cry.ptographic hash functions. In 2006, he published his invention of the ThreeBallot voting system, a voting system that incorporates the ability for the voter to discern that their vote was counted while still protecting their voter privacy. Most importantly, this system does not rely on cryptography at all. Stating "Our democracy is too important," he simultaneously placed ThreeBallot in the public domain.
Bio from Wikipedia, the free encyclopedia. Photo by Ronald L. Rivest (Own work) [CC BY-SA 4.0 (http://creativecommons.org/licenses/by-sa/4.0)], via Wikimedia Commons.
Charles E. Leiserson is Professor of Computer Science and Engineering at the Massachusetts Institute of Technology.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonCustomers say
Customers find the book to be a great text for learning algorithms, with one noting its clear explanations and depth. The content receives mixed feedback - while it covers every topic thoroughly, some customers point out that the exercises lack solutions. Customers consider the book to be good value for money.
AI-generated from the text of customer reviews
Select to learn more
Customers find the book great for learning, with one customer noting that the explanations are very clear and another mentioning that it's easy to read up on small details.
"...aforementioned whiners, feel free to buy this book, work hard, and learn a lot! There's not a better book out there in my experience." Read more
"...but the topics discussed throughout the book gave me an excellent introduction to the topic, and now I think that knowledge of algorithms is..." Read more
"...It is very straight forward and easy to understand...." Read more
"...enough that academically and intellectually, the scope and depth of this book is amazing...." Read more
Customers find the book to be a great value.
"Overall this is a good book and well worth every cent. The material is covered better than most data structure text books...." Read more
"A little dated since its an older version, but great value" Read more
"...HOPE EVERYONE LIKE IT!!! THE BOOK IS SOOOOOOOOOOOO CHEAP, ONLY 10 DOLLARS!!!!" Read more
"i am happy to have the book at such a low price. the book came before time. the packaging could have been better." Read more
Customers have mixed opinions about the content of the book, with some praising its thorough coverage of topics while others point out that the exercises lack solutions.
"...it covers every topic thoroughly and tells you exactly how and why each section relates to the chapter and why it's important...." Read more
"...However, making this even worse is the fact that NONE of the exercises are answered...." Read more
"...It covers a wide variety of algorithm topics from sorting to graph algorithms to NP completeness...." Read more
"...drawback is the fact that the excercises at the end of the chapter do not have solutions... it's as bad as having a physics problem that blindly..." Read more
Top reviews from the United States
There was a problem filtering reviews. Please reload the page.
- Reviewed in the United States on March 13, 2004Giving this book a bad review because:
a) you had a bad instructor for the course
b) you find the material difficult
c) you can't understand pseudo-code
are not what I would call constructive or worthwhile critiques of the text of this excellent book. PLEASE society, PLEASE understand that some topics you have to actually WORK at understanding. It won't be spoon fed to you.
It seems moreso with Computer Science majors than other majors (I'm an electrical engineer undergrad, comp sci grad student) that they whine and whine and whine about the math or about it being difficult to actually have to work to understand something.
Oh my GOODNESS!!!! It's hard? Well, BLAME THE BOOK.
Rant over.
This book is amazing. It's the bible of algorithms and, to some extent, data structures. If you're not aforementioned whiners, feel free to buy this book, work hard, and learn a lot! There's not a better book out there in my experience.
- Reviewed in the United States on June 19, 2024Great for uni and onward, a bit old and is all pseudo code but still great
- Reviewed in the United States on December 3, 2012This is a book that was recommended to me by an actual HR rep at a top technology company. Despite the fact that I was pursuing a Program Manager position, she said that I'd still need to prep up a bit for Data Structures and Algorithms.
Needless to say, I didn't do well on the interview, but the topics discussed throughout the book gave me an excellent introduction to the topic, and now I think that knowledge of algorithms is absolutely essential to being a good programmer. This book doesn't really assume any knowledge about the topic, so it could be a great way for you to get your feet wet on the topic.
- Reviewed in the United States on November 9, 2006Overall this is a good book and well worth every cent. The material is covered better than most data structure text books. It also avoids using recursion in situations when its not needed. For example, the texts chapter on red-black trees is probably the best I've seen. It explains key concepts while building on previous knowledge with notes to where the previous material was covered. The red-black tree is explained without using recursion, because the authors were smart enough to have realized the general reader cares about creating practical data structures without any or much lost in performance. Cormen et al does this well indeed. Each algorithm is laid out in pseudo-code that can easily be adapted to code in any language. One of my dissatisfactions was with the presentation of the pseudocode in that the indentation was done in a strange manner. This made the scope of the blocks of logic in certain algorithms confusing. Furthermore, the binding of the book is quite fragile and would most likely be broken with casual use as a textbook in college. However, I suspect the author did this to lower the price for college students and I thank him for that. In conclusion, this is near perfect book and is the reason why I give it four stars instead of five.
If you are seeking a good data structure or algorithm textbook, then you cannot go wrong with Introduction to Algorithms.
- Reviewed in the United States on June 21, 2011This is a super great book to start learning all about algorithms. It is very straight forward and easy to understand. If you don't understand any terms or even some of the math that is shown, the appendix and sections in the back will tell you everything you need to know. it covers every topic thoroughly and tells you exactly how and why each section relates to the chapter and why it's important.
Essentially, this is THE book to get if you want to study algorithms, even a little.
- Reviewed in the United States on September 5, 2005First, the good part: this book is an intellectual and academic masterpiece. It would be great for people doing algorithm or other Computer Science research. It's an amazing synthesis of much of the core of a Computer Science degree with Discrete Math and Probability. Oddly, it's more like a math book than a CS book.
Now, the not so good part: for implementers (i.e., programmers), this book is not all that useful. The biggest technical negative is that, for the most part, the authors ignore memory hierarchies and treat everything as if it were running on a computer with infinite cache memory and having everything already loaded there. Granted, the authors spend a huge chunk of time teaching the readers how to do (and prove) cost (or efficiency) analysis on algorithms. So, readers should be able to figure out actual, real-world efficiencies on their own (although there's nothing in this book to illustrate how to modify the analysis to do that). But, since memory hierarchies drastically change the relative efficiencies of algorithms, they should be considered in the original algorithmic analysis and ranking.
From a methodology point of view, another problem is that the authors assume the readers have full knowledge of the algorithms covered in the book. In general, they don't even try to teach the actual algorithms, how they came about, the reasoning behind them, or any method of thought for coming up with other, similar, algorithms. Instead, the authors merely focus on proving the correctness and cost of the pre-existing algorithms. It's like the authors present a beautiful, theoretical, shiny structure sparkling and spinning in the ether. They then explain what parts make up this structure, how they're put together, and how long it takes to use such a structure. But, what would be far more useful is if the authors started from the more common position where someone has a problem and a big pile of parts. They need to know how to determine the best thing to make from all those parts to fix the problem, and how to put it together in the most efficient way. Essentially, it's the difference between a reference book and a teaching book.
On the level of irritations, the authors leave a LOT of core stuff as exercises for the student. This is bad enough on its own (and is one of my pet peeves in the math world). However, making this even worse is the fact that NONE of the exercises are answered. So, firstly, that makes these exercises useless to self-studyers (i.e., me). And, secondly, that makes the "proof is left as an exercise to the student" core parts of the book entirely inaccesible to self-studyers.
I can't emphasize enough that academically and intellectually, the scope and depth of this book is amazing. If I were someone doing pure research in computer science algorithms, I'd rate it at 5 stars out of 5. But, as a lowly nouveaux-programmer trying to improve my mind, the best I can give it is an OK 3 stars out of 5.
Top reviews from other countries
-
Celtic boyReviewed in Japan on December 7, 2013
5.0 out of 5 stars アルゴリズム・データ構造の標準的武器(デカ過ぎ)
このでかさは二つの意味の武器を持つ。まず、1000ページを超える厚さで重いので物理的な武器にもなれば、これを読めばかなりアルゴリズムに関して幅広く知ることができると言う意味での武器もある。さて、そのような冗談はおいてこの本を評価したいと思う。
この教科書はアルゴリズムとデータ構造における世界水準の入門書であると考えていい。(というか多くの人はそう考えている)当然だが、「Introduction to ALGORITHMS」であるから、プログラミング言語と結びつけてはおらず擬似コードで話は進められる。そこらあたりにあるアルゴリズムとデータ構造の本よりかは古本でもこの本を買ってしまえばいい。おそらく大学の講義(15週くらい)では絶対に終わらない内容がズラーと並んでいることから、アルゴリズムを専攻したい人、研究に使う人には手放せない一冊になることには違いない。
何を詳しく取り上げると言うのも題材がそもそも多すぎるので、述べないがアルゴリズムとは何かと言うのを10ページにわたりわりとしっかりかかれている。どうしても、大学で使っているアルゴリズムとデータ構造の教科書は難しいし、アルゴリズムは何に使われているのかなどが書かれておらず、アルゴリズムを初めて学ぶ人には敷居が高かった。そういう意味でこの本をサプリ的に買った。これを読めばアルゴリズムは面白いと必ず思わせてくれる。
これだけ長々と書いたが、要するに「世界水準」ということから読んでわかりにくいと言うことはまずないだろうし、ちゃんと理解できる。
- Callum PritchardReviewed in the United Kingdom on December 1, 2018
5.0 out of 5 stars Computer Science Bible
This book covers my whole university course for all 3 years.
- Jammy LeeReviewed in Canada on June 20, 2018
5.0 out of 5 stars Best deal for this textbook
Best deal for this textbook. Well, it's a textbook, so there is not much use for it unless you are taking corresponding course. It does contain interesting algorithmic theories but I doubt anyone would actually use this as a "casual read"...
-
JavierTReviewed in Spain on April 11, 2015
4.0 out of 5 stars La biblia de los algoritmos
Todo lo que quieres saber para comenzar en el mundo de los algoritmos está aquí. Como en cualquier otra ciencia, no todo el conocimiento puede estar en un sólo libro, pero tras acabar este tendrás un buen nivel y competencia en diversos campos de la algoritmia.
No obstante es un libro denso, poco divulgativo (no se lee por placer, se lee para aprender a hacer algo concreto, algo que en general es dificil), y que requiere tiempo por la cantidad de conceptos y datos que aporta en cada una de sus páginas.
Un libro para tomárselo con calma, o para consultar y repasar conceptos cuando sea necesario. Ideal para gente con experiencia en programación, matemáticas o, al menos, algún trasfondo en materias lógicas. No recomendado para una persona que esté aprendiendo en frío o que nunca haya tenido una aproximación, al menos, a la programación.
- Rodrigo Nunes LaignerReviewed in Canada on August 24, 2014
5.0 out of 5 stars Five Stars
Great book with a good condition. I`m satisfied.