Introduction to Algorithms, Third Edition

Introduction to Algorithms, Third Edition

Some books on algorithms are rigorous but incomplete; others cover masses of material but lack rigor. Introduction to Algorithms uniquely 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 pro

Rating: (out of 14 reviews)

List Price: $ 87.00

Price: $ 66.50

More Algorithms Products

This entry was posted in Algorithms and tagged , , , . Bookmark the permalink.

5 Responses to Introduction to Algorithms, Third Edition

  1. M. Leeper says:

    Review by M. Leeper for Introduction to Algorithms, Third Edition
    Rating:
    First of all, this is the quintessential book on algorithms. If you want to learn, this is the book to get. The information in the book is awesome and it can make an excellent reference.

    Students will need a very strong mathematical background and a strong arm to even think about picking up this book because the it is heavy (both physically and metaphorically). Mastery of discrete math is a must, graph theory, programming, and, combinatorics will also help.

    With that said, this book falls short in one MAJOR area, explanations. Too often explanations are left out and left as exercises and there are no solutions to the exercises! Or details are replaced by ambiguous statements such as of “cleary, this works”, or “it is easy to see that this …”. I get the concept of learning by doing, really I do, but there should be some kind of solutions so the student can CHECK his/her understanding of the material and sometimes the exercises are not about advanced aspects of a concept, sometimes it is the core material. Even if the solution manual only contained a simple answer without the work. Not only would it help tremendously but the purpose of doing the exercises would be preserved; that is the student getting his/her “hands dirty” and working out a problem.

    For the love everything good and pure in this universe, I really wish writers of mathematical books would stop using statements like “clearly this works” or “it is easy to see”, “it is obvious” etc. While that may be true for you and your brilliant circle of colleagues, everything is not always clear and obvious to your readers. Save all of that ambiguity for your research paper.

    A great book should deliver in two areas; it should challenge and it should inform. The challenge is there, no doubt. However in some ways it fails to inform the reader. The authors should really think about releasing a students solution manual to help students learn better. I take away two stars for the reasons stated about.

  2. calvinnme says:

    Review by calvinnme for Introduction to Algorithms, Third Edition
    Rating:
    An algorithm is nothing more than a set of computational steps that transform a specific input into a desired output. From that definition, there are plenty of books on the market that are “cookbooks” of algorithms and will enable you to do just that – transform specific inputs into outputs, complete with source code, and with no real depth of understanding of your own required. However, to be a computer scientist versus a programmer, you need to know what makes an efficient algorithm, why is a particular algorithm efficient, what kinds of common data structures are involved in various computing problems, how to traverse those data structures efficiently, and a notation for analyzing various algorithms. This book will help you learn all of that. The study of the theory of algorithms is not to be undertaken lightly, and I don’t recommend you attempt to self-study such a complex subject with such strong mathematical underpinnings. In fact, this book is really aimed at graduate computer science students and is often on the reading list of Ph.D. qualifying examinations in that field.

    For students of graph theory, you might find your knowledge solidly supplemented by the material in chapters 22 through 26 on graph algorithms. The last section of the book, “Selected Topics”, goes over various specific algorithms from many fields using the knowledge of algorithm design and analysis you have learned up to this point in the book. Throughout, the text is very clear, and there are plenty of instructive diagrams and pseudocode.

    One of the most interesting parts of the book is the chapter on NP-completeness. This is the study of problems for which no efficient algorithm has ever been found. These problems are interesting for two reasons. The first being that even though an efficient algorithm has never been found, there is no proof that one cannot exist. Second, if an efficient algorithm exists for one of them, then an efficient algorithm exists for all. Thus, if you are ever called upon to write an efficient algorithm for an NP-complete problem, you will be involved in a long fruitless search if you do not recognize the problem as NP-complete. If you can show the problem is NP-complete, you can go about producing an algorithm that gives a good solution, but not the best possible solution. This kind of knowledge is what separates a computer scientist from a mere programmer, and is one of many reasons to study this book’s contents. I highly recommend this book to anyone who truly wants to be called a computer scientist.

    To get the most from this book you should already be familiar with discrete mathematics and combinatorics, as this book makes heavy use of these subjects. Because this book contains no solutions to any of the exercises, might I suggest “Problems on Algorithms” by Ian Parberry as a companion to this book. It has a little bit of tutorial and a lot of exercises, many unsolved, but some with hints and others with solutions. Also, for more basic material, you might look at “Schaum’s Outline of Discrete Mathematics”. It’s very inexpensive and can almost stand alone as a tutorial on the mathematics you need to know to succeed at understanding this book. The table of contents is not shown for this third edition of the book, so I supply that information next:

    Table of Contents

    Preface

    I Foundations

    1 The Role of Algorithms in Computing

    2 Getting Started

    3 Growth of Functions

    4 Recurrences

    5 Probabilistic Analysis and Randomized Algorithms

    II Sorting and Order Statistics

    6 Heapsort

    7 Quicksort

    8 Sorting in Linear Time

    9 Medians and Order Statistics

    III Data Structures

    10 Elementary Data Structures

    11 Hash Table

    12 Binary Search Trees

    13 Red-Black Trees

    14 Augmenting Data Structures

    IV Advanced Design and Analysis Techniques

    15 Dynamic Programming

    16 Greedy Algorithms

    17 Amortized Analysis

    V Advanced Data Structures

    18 B-Trees

    19 Binomial Heaps

    20 Fibonacci Heaps

    21 Data Structures for Disjoint Sets

    VI Graph Algorithms

    22 Elementary Graph Algorithms

    23 Minimum Spanning Trees

    24 Single-Source Shortest Paths

    25 All-Pairs Shortest Paths

    26 Maximum Flow

    VII Selected Topics

    27 Sorting Networks

    28 Matrix Operations

    29 Linear Programming

    30 Polynomials and the FFT

    31 Number-Theoretic Algorithms

    32 String Matching

    33 Computational Geometry

    34 NP Completeness

    35 Approximation Algorithms

  3. Emre Sermutlu says:

    Review by Emre Sermutlu for Introduction to Algorithms, Third Edition
    Rating:
    I have studied algorithms using several books, and this is by far the best. It is comprehensive (twice as thick as the average book), you can find everything you are looking for. It is pedagogical too, always starts with simpler problems. I have also used the first edition for some time, and can say that this one is much improved as a result of feedback from instructors and students. Everything from pseudocode to page layout has been touched in some way, and made easier to read and understand for the student.

    The only negative thing about this book is the lack of solutions to exercises. The authors must have realized the importance of this. They published a small subset of solutions on the web, but that is inadequate.

  4. Steven J. Tricanowicz says:

    Review by Steven J. Tricanowicz for Introduction to Algorithms, Third Edition
    Rating:
    This textbook isn’t just a textbook for an algorithms class. No matter what the project, if you need details on any sort of data structure or algorithm, this book has details on it. It is very theoretical, but extremely comprehensive. Whether this book is required, recommended, or not even suggested at all, I cannot emphasize how helpful it will be. It is a textbook that will outlive the course by a very long time.

  5. Nogger says:

    Review by Nogger for Introduction to Algorithms, Third Edition
    Rating:
    nice quality, excellent content, it is really significant for mathematics or computer science students to have this book~

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>