Introduction to Algorithms – Thomas H. Cormen, Clara Lee, Erica Lin – 2nd 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 programming.

The explanations have been kept elementary without sacrificing depth of coverage or mathematical rigor. The first edition became a widely used text in universities worldwide as well as the standard reference for professionals. The second edition featured new chapters on the role of algorithms, probabilistic analysis and randomized algorithms, and linear programming. The third edition has been revised and updated throughout.

View more
  • 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

    VIII Appendix: Mathematical Background
    A Summations
    B Sets, Etc.
    C Counting and Probability
  • Citation

Leave us a comment

No Comments

Notify of
Inline Feedbacks
View all comments
Would love your thoughts, please comment.x