Buy book Stores, buy book online,buy book reports,best buy book, go buy book,buy book of shadows,buy book back,buy book cheap
 Location:  Home» BOOKS » Algorithms » Introduction to Algorithms, Second Edition  
algorithms  computation theory  computer science  ocw  

Introduction to Algorithms, Second Edition

Introduction to Algorithms, Second Edition

enlarge enlarge 
Authors: Thomas H Cormen, Charles E Leiserson, Ronald L Rivest, Clifford Stein
Publisher: McGraw-Hill Science/Engineering/Math

Buy Used: $21.50



New (10) Used (61) from $21.50

Rating: 4.0 out of 5 stars 105 reviews

Media: Hardcover
Edition: 2
Pages: 1056
Number Of Items: 1
Shipping Weight (lbs): 4.7
Dimensions (in): 8.9 x 8.3 x 2

ISBN: 0070131511
Dewey Decimal Number: 005
EAN: 9780070131514

Publication Date: July 16, 2001
Availability: Usually ships in 1-2 business days

Also Available In:

  • Paperback - Introduction to Algorithms
  • Paperback - Introduction to Algorithms, Second Edition
  • Hardcover - Introduction to Algorithms, Second Edition
  • Hardcover - Introduction to Algorithms

Similar Items:

  • Algorithms
  • Introduction to the Theory of Computation
  • Concepts of Programming Languages (9th Edition)
  • Computer Architecture: A Quantitative Approach, 4th Edition
  • The Algorithm Design Manual

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).

Product Description
The updated new edition of the classic Introduction to Algorithms is intended primarily for use in undergraduate or graduate courses in algorithms or data structures. Like the first edition, this text can also be used for self-study by technical professionals since it discusses engineering issues in algorithm design as well as the mathematical aspects.

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.


Customer Reviews:   Read 100 more reviews...

5 out of 5 stars Good quality, surprising speed   March 2, 2010
Zheng Li (Minneapolis)
Very good quality, as described, with only a few highlighting notes, and I think that's not even a bad thing.

The speed is surprisingly fast, only about two or three business days. I am very satisfied with it.

The book is much heavier than I thought, considering whether to buy a hardcover in the future, :)



1 out of 5 stars Excellent for Mathematicians   January 19, 2010
Iain Henderson (USA)
1 out of 1 found this review helpful

This book demonstrates the growing divide between mathematics and computer science. Yes, mathematics are vital to the understanding and practice of any science. Yes, computer science is closer to physics than biology or chemistry when it comes to math usage. However, this does not make every aspiring computer scientist a mathematician. Given this book's steep mathematical requirements (discrete math, graph theory, combinatorics, and matrices), it's lack of explanations / demonstrations, and, from my experience, it's use in computer science courses without a steep math pre-requisite this book is inappropriately titled and difficult to use. If you already know the math and just want to apply it, then this book will be of tremendous use to you. If you don't know the math and think you'll learn what you need as you go along, then you'd better have a mathematician handy to help you out with that, because this book will leave you hanging.

if you attend MIT or another school with a HEAVY math emphasis, then this book will serve you well. If you've had nothing but Calculus, then this book may leave you enraged and confused with a strong preference for heuristics.

As it stands I hope the third edition is much improved, for the sake of students everywhere, and I wonder why my class (fall 2009) did not use it instead.



2 out of 5 stars Good for programming; high mathematic entry level   January 13, 2010
A. Suttmiller
This book is readable. I gave it two stars because of how I feel: the alt text reads "I don't like it."

I tried with significant effort to read and understand this book. It does not give an in depth explanation of analysis, in my case, of recurrence. It does not describe any strategy to begin in a useful manner. It gives few examples with limited explanation. It does not provide any sample problem/solution breakdowns. All of which I feel would benefit my learning methods greatly.

If this book had an introduction to "Introduction to Algorithms"...



5 out of 5 stars Best algorithms book ever   September 21, 2009
Henry Mo (USA)
This is the best algorithms book ever. It covers the whole gamut of topics from sorting to graphs to NP-complete problems. It's so good that if you study computer science, you'd want this book on your bookshelf for reference even if no course explicitly requires it. Highly recommended!


5 out of 5 stars Alghoritms   March 31, 2009
AUGUSTO ASCANIO (Venezuela)
0 out of 2 found this review helpful

My son is a Computer Engineer student, he found this book very useful and valuable support in this subject.