Auto boutiques-francophones Simple and secure cloud storage Personal Care Furniture All-New Kindle Paperwhite Explore the Amazon.ca Vinyl LP Records Store Fall Tools
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Introduction to Algorithms, Second Edition Hardcover – Sep 1 2001


See all 5 formats and editions Hide other formats and editions
Amazon Price New from Used from
Hardcover, Sep 1 2001
CDN$ 121.59 CDN$ 39.97

There is a newer edition of this item:

Introduction to Algorithms
CDN$ 108.37
(17)
In Stock.

Unlimited FREE Two-Day Shipping for Six Months When You Try Amazon Student




Product Details

  • Hardcover: 1202 pages
  • Publisher: The MIT Press; 2 edition (Sept. 1 2001)
  • Language: English
  • ISBN-10: 0262032937
  • ISBN-13: 978-0262032933
  • Product Dimensions: 20.3 x 5.7 x 22.9 cm
  • Shipping Weight: 2.1 Kg
  • Average Customer Review: 3.9 out of 5 stars  See all reviews (46 customer reviews)
  • Amazon Bestsellers Rank: #204,173 in Books (See Top 100 in Books)
  • See Complete Table of Contents

Product Description

From Amazon

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 maths-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 at explaining each algorithm. (Reference sections on basic mathematical notation will help readers bridge the gap, but it will help to have some maths 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 list 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 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 amortised analysis). Algorithms for graphing problems (used in such real-world business problems as optimising 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 traveloling salesmen 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. In all, 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

From the Publisher

There are books on algorithms that are rigorous but incomplete and others that cover masses of material but lack rigor. Introduction to Algorithms combines rigor and comprehensiveness. The book covers a broad range of algorithms in depth, yet makes their design and analysis accessible to all levels of readers. Each chapter is relatively self-contained and can be used as a unit of study. The algorithms are described in English and in a pseudocode designed to be readable by anyone who has done a little programming. The explanations have been kept elementary without sacrificing depth of coverage or mathematical rigor.

The first edition became the standard reference for professionals and a widely used text in universities worldwide. The second edition features new chapters on the role of algorithms, probabilistic analysis and randomized algorithms, and linear programming, as well as extensive revisions to virtually every section of the book. In a subtle but important change, loop invariants are introduced early and used throughout the text to prove algorithm correctness. Without changing the mathematical and analytic focus, the authors have moved much of the mathematical foundations material from Part I to an appendix and have included additional motivational material at the beginning.

See all Product Description

Inside This Book

(Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

3.9 out of 5 stars

Most helpful customer reviews

5 of 5 people found the following review helpful By S. Saha on Feb. 23 2004
Format: Hardcover
You shouldn't have to read this review... this book is unmatched in it's field - it's a great book for someone with no background in algorithms to start learning. The exercises are very interesting with some being more mathematical while others are thought provoking extensions to material covered in the book. It's easily the bible in this field. After this one can go on to more advanced specialized material like Papadimitriou, Motwani and Raghavan etc. If you don't have this book and you work with ANY kind of algorithms or do any kind of programming, you owe it to yourself to get it.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.
4 of 4 people found the following review helpful By A Customer on July 30 2003
Format: Hardcover
Pros:
- Good general book for basic algorithm stuff.
- Tons of basic algorithms.
- Thorough in proofs.
- Very easy to follow once in case you have enough Math background (by either being a grad student or else if undergrad, read the first few chapters as well as Appendices well in advance to the course (Spend time solving the exercises and get familiar with the notation etc. before taking the course)
Cons:-
- I don't consider it a good idea to write algorithms with index starting from 1 instead of 0? Most popular languages used in the industry, have arrays starting from zero.
- Most professors that I have discussed it with agree that this is not the best book for the subject but probably the only one with this much material in it.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.
1 of 1 people found the following review helpful By Joel Heath on Jan. 30 2003
Format: Hardcover
and as such, it isn't a good place to look to if you're not taking a class concurrently. This is not an introduction to computer science or to what an algorithm is or basic computing as all of the bad reviews claim it to be deficient in. It was never intended to be those things. Yes it may be a bit hard to follow; Yes, it may be a bit more than you can handle; Yes, that is what analysis of algorithms is. If you don't already understand most of the stuff in the first two chapters before you start, you're not going to get much from this book. It is not by any means for beginners of any type and is instead intended to give an overview of how to analyze algoritms for computer science problems. As for the one reviewer who complained that this book focuses too much on the "useless" basics of computer science and not enough on modern applications of computer science like AI, of course it does...what the hell do you think INTRODUCTION is supposed to mean. You can't expect to dive headlong into more advanced and complicated stuff until you understand the basics.
And yes, the psuedo-code kinda [bad]. The book isn't perfect but it does what it's intended to and doesn't do what some people expect from the title. If you bought this and don't understand a word of it, keep it around and try something else first, or take classes on programming and data structures...then come back and it will make more sense.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.
1 of 1 people found the following review helpful By Henry Lenzi on Jan. 23 2003
Format: Hardcover
The problem with this book from a beginner's perspective is the horrible pseudocode. It is *ambiguous* in some parts. For instance, right at the start, in insertion sort, it divides an array of length[A]=n in two parts, one being A[1..j-1] (sorted) and the other (unsorted) being A[j + 1..n].OK. However, the for loop starts with for j:= 2 to length[A]. So, they're being pedantic: mixing mathematical rigorousness with ambiguous pseudocode. Slot-value is confounded with array indexes (position), too. Maybe the problem stems from the bias of the pseudocode towards Pascal and C-like languages, which must be the reason why people excuse the confusion, since they're prone to it anyhow, programming in primitive languages such as those two. For example, references to how pointers relate to its pseudocode would have no place in the book , had they really given more thought to the way they write that pseudocode. Write the damn thing in C, already (*not* Pascal - that's for kids)!
It does not make good algorithmic use of brain-cell caloric use, sometimes.
There's a (quite) extensive list of errors on the on-line page. Please check it before going mad.
So while it seems to be a very complete book, it doesn't get the message accross with even some simple algorithms. We are all suppose to love it because it is from M.I.T., but the fact of the matter is that you'll need books more student-oriented.
Buy it for reference, anyhow. It's worth the money.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.
Format: Hardcover
While many have noted how Thomas Corwen and his co-authors have added a scholarly touch to this subject with plenty of proofs it does not make for a good text. One can argue that this book should supplement the instructor's teachings. That would be fine except for the fact that there are no answers to the problems. Therefore, a student has no idea if he or she is on the right track.
To this end Corwen snidely replies on his website that any student asking for the answer will have his or her name posted as a potential cheater since Corwen believes that instructors should be able to use his problems as homework. Here's an idea, how about instructors developing their own problems!
Corwen also does not relate the material in plain English as someone like Frank Carrano does. There are other sources of many of the concepts like binary search trees, sorting algorithms, O-notation. The only thing Corwen is adding is lots of proof and mathematical shorthand.
If you are interested in the mathematical concepts behind the algorithms this is a fine introduction. If you are interested in the algorithmic concepts, this is not for you. Ultimately if you are a student whose instructor will be using this book, you have no choice about buying it. If you are an instructor, however, look at another book to supplement your teachings.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.

Most recent customer reviews



Feedback