Join Amazon Prime and ship Two-Day for free and Overnight for $3.99. Already a member? Sign in.

 

or
Sign in to turn on 1-Click ordering.
 
 
More Buying Choices
90 used & new from $47.85

Have one to sell? Sell yours here
 
   
Introduction to Algorithms, Second Edition
 
See larger image
 
Tell the Publisher!
I’d like to read this book on Kindle

Don’t have a Kindle? Get yours here.
 
  

Introduction to Algorithms, Second Edition (Hardcover)

by Thomas H. Cormen (Author), Charles E. Leiserson (Author), Ronald L. Rivest (Author), Clifford Stein (Author)
4.1 out of 5 stars See all reviews (171 customer reviews)

List Price: $85.00
Price: $68.12 & this item ships for FREE with Super Saver Shipping. Details
You Save: $16.88 (20%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.

Want it delivered Monday, July 20? Choose One-Day Shipping at checkout. Details
34 new from $54.50 56 used from $47.85
Also Available in: List Price: Our Price: Other Offers:
Hardcover (2nd) $110.53 46 used & new from $70.00
Paperback (Student Edition) 29 used & new from $48.14
There is a newer edition of this item:
Introduction to Algorithms, Third Edition Introduction to Algorithms, Third Edition 4.1 out of 5 stars (171)
$58.72
Available for Pre-order
What Do Customers Ultimately Buy After Viewing This Item?

Frequently Bought Together

Introduction to Algorithms, Second Edition + The Algorithm Design Manual + Programming Pearls (2nd Edition) (ACM Press)
  • This item: Introduction to Algorithms, Second Edition by Thomas H. Cormen

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • The Algorithm Design Manual by Steven S. Skiena

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Programming Pearls (2nd Edition) (ACM Press) by Jon Bentley

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details


Customers Who Bought This Item Also Bought

Computer Organization and Design, Fourth Edition, Fourth Edition: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design)

Computer Organization and Design, Fourth Edition, Fourth Edition: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design)

by David A. Patterson
3.8 out of 5 stars (86)  $66.39
Introduction to the Theory of Computation, Second Edition

Introduction to the Theory of Computation, Second Edition

by Michael Sipser
4.5 out of 5 stars (53)  $115.36
Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley Professional Computing Series)

Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley Professional Computing Series)

by Erich Gamma
4.5 out of 5 stars (261)  $48.40
Programming Pearls (2nd Edition) (ACM Press)

Programming Pearls (2nd Edition) (ACM Press)

by Jon Bentley
4.4 out of 5 stars (34)  $32.57
C Programming Language (2nd Edition) (Prentice Hall Software)

C Programming Language (2nd Edition) (Prentice Hall Software)

by Brian W. Kernighan
4.7 out of 5 stars (271)  $42.84
Explore similar items

Editorial Reviews

Amazon.com Review
Aimed at any serious programmer or computer science student, the new second edition of Introduction to Algorithms builds on the tradition of the original with a truly magisterial guide to the world of algorithms. Clearly presented, mathematically rigorous, and yet approachable even for the math-averse, this title sets a high standard for a textbook and reference to the best algorithms for solving a wide range of computing problems.

With sample problems and mathematical proofs demonstrating the correctness of each algorithm, this book is ideal as a textbook for classroom study, but its reach doesn't end there. The authors do a fine job of explaining each algorithm. (Reference sections on basic mathematical notation will help readers bridge the gap, but it will help to have some math background to appreciate the full achievement of this handsome hardcover volume.) Every algorithm is presented in pseudo-code, which can be implemented in any computer language, including C/C++ and Java. This ecumenical approach is one of the book's strengths. When it comes to sorting and common data structures, from basic linked lists to trees (including binary trees, red-black, and B-trees), this title really shines, with clear diagrams that show algorithms in operation. Even if you just glance over the mathematical notation here, you can definitely benefit from this text in other ways.

The book moves forward with more advanced algorithms that implement strategies for solving more complicated problems (including dynamic programming techniques, greedy algorithms, and amortized analysis). Algorithms for graphing problems (used in such real-world business problems as optimizing flight schedules or flow through pipelines) come next. In each case, the authors provide the best from current research in each topic, along with sample solutions.

This text closes with a grab bag of useful algorithms including matrix operations and linear programming, evaluating polynomials, and the well-known Fast Fourier Transformation (FFT) (useful in signal processing and engineering). Final sections on "NP-complete" problems, like the well-known traveling salesman problem, show off that while not all problems have a demonstrably final and best answer, algorithms that generate acceptable approximate solutions can still be used to generate useful, real-world answers.

Throughout this text, the authors anchor their discussion of algorithms with current examples drawn from molecular biology (like the Human Genome Project), business, and engineering. Each section ends with short discussions of related historical material, often discussing original research in each area of algorithms. On the whole, they argue successfully that algorithms are a "technology" just like hardware and software that can be used to write better software that does more, with better performance. Along with classic books on algorithms (like Donald Knuth's three-volume set, The Art of Computer Programming), this title sets a new standard for compiling the best research in algorithms. For any experienced developer, regardless of their chosen language, this text deserves a close look for extending the range and performance of real-world software. --Richard Dragan

Topics covered: Overview of algorithms (including algorithms as a technology); designing and analyzing algorithms; asymptotic notation; recurrences and recursion; probabilistic analysis and randomized algorithms; heapsort algorithms; priority queues; quicksort algorithms; linear time sorting (including radix and bucket sort); medians and order statistics (including minimum and maximum); introduction to data structures (stacks, queues, linked lists, and rooted trees); hash tables (including hash functions); binary search trees; red-black trees; augmenting data structures for custom applications; dynamic programming explained (including assembly-line scheduling, matrix-chain multiplication, and optimal binary search trees); greedy algorithms (including Huffman codes and task-scheduling problems); amortized analysis (the accounting and potential methods); advanced data structures (including B-trees, binomial and Fibonacci heaps, representing disjoint sets in data structures); graph algorithms (representing graphs, minimum spanning trees, single-source shortest paths, all-pairs shortest paths, and maximum flow algorithms); sorting networks; matrix operations; linear programming (standard and slack forms); polynomials and the Fast Fourier Transformation (FFT); number theoretic algorithms (including greatest common divisor, modular arithmetic, the Chinese remainder theorem, RSA public-key encryption, primality testing, integer factorization); string matching; computational geometry (including finding the convex hull); NP-completeness (including sample real-world NP-complete problems and their insolvability); approximation algorithms for NP-complete problems (including the traveling salesman problem); reference sections for summations and other mathematical notation, sets, relations, functions, graphs and trees, as well as counting and probability backgrounder (plus geometric and binomial distributions).

Review
"Introduction to Algorithms, the 'bible' of the field, is a comprehensive textbook covering the full spectrum of modern algorithms: from the fastest algorithms and data structures to polynomial-time algorithms for seemingly intractable problems, from classical algorithms in graph theory to special algorithms for string matching, computational geometry, and number theory. The revised third edition notably adds a chapter on van Emde Boas trees, one of the most useful data structures, and on multithreaded algorithms, a topic of increasing importance."
Daniel Spielman, Department of Computer Science, Yale University

"As an educator and researcher in the field of algorithms for over two decades, I can unequivocally say that the Cormen book is the best textbook that I have ever seen on this subject. It offers an incisive, encyclopedic, and modern treatment of algorithms, and our department will continue to use it for teaching at both the graduate and undergraduate levels, as well as a reliable research reference."
Gabriel Robins, Department of Computer Science, University of Virginia

"In light of the explosive growth in the amount of data and the diversity of computing applications, efficient algorithms are needed now more than ever. This beautifully written, thoughtfully organized book is the definitive introductory book on the design and analysis of algorithms. The first half offers an effective method to teach and study algorithms; the second half then engages more advanced readers and curious students with compelling material on both the possibilities and the challenges in this fascinating field."
Shang-Hua Teng, University of Southern California --This text refers to the Hardcover edition.

See all Editorial Reviews


Product Details

  • Hardcover: 1184 pages
  • Publisher: The MIT Press; 2nd edition (September 1, 2001)
  • Language: English
  • ISBN-10: 0262032937
  • ISBN-13: 978-0262032933
  • Product Dimensions: 9.1 x 8.1 x 2 inches
  • Shipping Weight: 4.6 pounds (View shipping rates and policies)
  • Average Customer Review: 4.1 out of 5 stars See all reviews (171 customer reviews)
  • Amazon.com Sales Rank: #12,581 in Books (See Bestsellers in Books)

    Popular in this category: (What's this?)

    #29 in  Books > Computers & Internet > Programming > Algorithms


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
Check the boxes next to the tags you consider relevant or enter your own tags in the field below.
(12)
(8)

Your tags: Add your first tag
 
Help others find this product — tag it for Amazon search
L. R. Comerford suggested this product show on searches for "clrs". What do you suggest?

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

 

Customer Reviews

171 Reviews
5 star:
 (91)
4 star:
 (42)
3 star:
 (13)
2 star:
 (13)
1 star:
 (12)
 
 
 
 
 
Average Customer Review
4.1 out of 5 stars (171 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
172 of 192 people found the following review helpful:
3.0 out of 5 stars A definitive guide, but not perfect, May 28, 2002
INTRODUCTION TO ALGORITHMS is pretty much the standard textbook in the field of algorithms. In its favor is the fact that it is quite comprehensive, covering a wide range of topics that the beginning student will need to know. On the other hand, it has a tendency towards the confusing and the obscure, with many of the example problems not making a lot of sense. If one decides to purchase this book (and the students will have no choice in this matter, being subject as they are to the whims of their professors), then I recommend that one immediately prints out the "bug correction" page available on the web, as there are several major howlers present in the book, and if one isn't careful then many hours will be lost while one checks and rechecks faulty pseudo-code. In one particularly confused portion of the book, the correction sheet completely replaces three entire pages of the text.

This book covers a huge amount of material, and many of the topics are described quite adequately. Although readers may already be familiar with the numerous data structures that are discussed, the book doesn't assume prior knowledge and goes into quite a lot of detail concerning them. These sections, in particular, are illustrated clearly and offer great reference material that every programmer should have access to. This portion on data structures is one area where the book's conciseness is an advantage. It's simple enough for the beginner to learn from, but it contains more than enough information for the advanced user in need of mental refreshing.

The opening sections that discuss the rudiments of algorithm analysis are also covered competently. The easier subjects don't suffer from the book's shortcomings, as these ideas aren't quite as difficult to understand. For a simple introduction to the easier-to-grasp concepts in Algorithms, these sections simply can't be bettered. It's not until later chapters that some of the material appears incomprehensible.

Other parts of the book are very confusing to the beginning students who, presumably, make up the bulk of the target audience. If this text is used as an accompaniment to a class (as it usually is), then you'll probably do all right. One really needs to have some other source of information, because this book tends to get quite confusing. The problem sets included are frequently obscure, and don't always relate to the material in that chapter. The fact that many of the problems have no given solution (even if one attempts to contact the authors!) is quite telling. The style of the book is extremely dry and occasionally impenetrable, even when compared to other computer science textbooks.

If you're looking at this page, then no doubt you're looking mainly for pricing information, since this book is the definitive standard on the subject. Keep in mind that "definitive" doesn't necessarily mean perfect, and, alas, this book is far from perfection. But if you have an alternative method of learning the material, then this is an excellent book to have as accompaniment. And once you've learned the material, you'll find this to be a great resource.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
114 of 127 people found the following review helpful:
3.0 out of 5 stars Academic Masterpiece, Practical White Elephant, September 5, 2005
First, 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.
Comment Comments (5) | Permalink | Was this review helpful to you? Yes No (Report this)



 
41 of 43 people found the following review helpful:
4.0 out of 5 stars Great book with one major shortcoming, February 11, 2007
What it is:
A very thick text book about a) the mathematics behind algorithms, and b) a treasure chest of random performance tips.

Who it's for:
This book is for those who want or need to gain a decent grasp of the math for analyzing algorithms, and already have a decent understanding of discrete mathematics and probability.

What's good about it:
I really like this book. It's very high quality, well written, concise, and clear, and it's sprinkled with clever little tips to improve the efficiency of common routines.

Tips:
You can watch video recordings of the MIT lectures based on the book. Check out "6.046J Introduction to Algorithms" by searching for "ocw 6.046J" in your favorite search engine. The mathematical prerequisite course is also available in text form on MIT's OpenCourseWare; it can be found by searching for "ocw 6.042J spring 2005".

Warnings:
* Don't bother with this book unless you have a high aptitude for math
* Don't bother with this book unless you're prepared to work at it
* It's not designed as a reference book; instead it's a study book.

Many reviewers have called this book a "reference", but I have to disagree. A good reference book makes information quickly accessible, but this book would require you to read way too much to be called a reference. A practical reference book for algorithms is "The Algorithm Design Manual" by Steven S. Skiena, assuming you don't require proofs.

The Major Shortcoming!
Given that the book's design is most appropriate for learning things you don't already know, it has one major shortcoming: there are no answers to any of the exercises or problems. That makes the book semi-useless for self-study as well as for instructors who believe in the pedagogic value of students being able to check their answers. The instructor's manual is only available to instructors on the condition that they don't make the answers available.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
Ad
 
Most Recent Customer Reviews

4.0 out of 5 stars Dense but a good introduction
the mathematical rigor and "un-preciseness" of this book is perhaps the only reason why this has so many pages. Read more
Published 2 months ago by Saurabh Mahapatra

5.0 out of 5 stars Alghoritms
My son is a Computer Engineer student, he found this book very useful and valuable support in this subject.
Published 3 months ago by AUGUSTO ASCANIO

5.0 out of 5 stars great encyclopedia of algorithms
Great wide area covering algorithms book. It's covering many areas , and gives good starting ( sometimes not just start ) point for investigation of some concrete problem. Read more
Published 3 months ago by Miodrag Opacic

5.0 out of 5 stars The leading reference on algorithms
This text is widely considered the leading reference on algorithms in the field of computer science. Read more
Published 6 months ago by Alex Ferrugia

5.0 out of 5 stars good condition
this book was kept up...no pages missing
was a great deal for me, it beats buyin the book for full price
Published 9 months ago by Eric Samuel Washington

3.0 out of 5 stars Faily good timely delivery
I received the book in a fairly good amount of time. I will just note that this book did not come with it's companion CD. I expected it to have it's companion cd. Read more
Published 9 months ago by George Taku

5.0 out of 5 stars The best textbook on algorithms, but it is not a programming book.
I used this book for a graduate level Algorithms course, and I really liked it. It is packed full of content on a wide range of topics. Read more
Published 13 months ago by B. Pursley

4.0 out of 5 stars This version has NO CD
There are three versions of the second edition, only one of which has the CD:

The first one is published by the MIT Press, with the title "Introduction to... Read more
Published 13 months ago by Jodawi

4.0 out of 5 stars excellent resource
This book is (in my opinion) an essential resource of common computer science algorithms. It covers a broad range of different algorithm topics and I found the explanations by... Read more
Published 14 months ago by Arturo Donate

4.0 out of 5 stars Complex Topics. Not so Complex Book.
If any book is being worshipped for it's content on Algorithms in Academia, then it is this book. I have used this book both in my undergraduate and my Masters and definitely the... Read more
Published 14 months ago by S. Devasundaram

Only search this product's reviews



Customer Discussions

 Beta (What's this?)
New! See all customer communities, and bookmark your communities to keep track of them.
This product's forum (3 discussions)
See all 3 discussions...  
Start a new discussion
Topic:
First post:
Prompts for sign-in
  [Cancel]


   


Product Information from the Amapedia Community

Beta (What's this?)

Help us improve this fledgling article by editing it on Amapedia.com opens new browser window




Look for Similar Items by Category


Have a shopping question?
Try askville. It's free!
Get answers from real people in areas like health, books, parenting, relationships



 

Big Savings in Books

Bargain Books
Find great titles at fantastic prices in our Bargain Books Store.
 

Dive into Summer Reading

Summer Reading for Kids and Teens
Don't even think about hitting the beach without browsing the books in our Summer Reading Store. Discover bestsellers, paperback picks, beach reads, and more terrific titles all summer long.
 

Best Books

Best of the Month
See our editors' picks and more of the best new books on our Best of the Month page.
 
Ad

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Where's My Stuff?

Shipping & Returns

Need Help?

Your Recent History

  (What's this?)
You have no recently viewed items or searches.

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.

Look to the right column to find helpful suggestions for your shopping session.

Continue shopping: Top Sellers
Free
Free by Chris Anderson
Paranoia
Paranoia by Joseph Finder
My Soul to Lose
My Soul to Lose by Rachel Vincent
Glenn Beck's Common Sense

Conditions of Use | Privacy Notice © 1996-2009, Amazon.com, Inc. or its affiliates