Introduction to Algorithms
Introduction to Algorithms is a book on computer programming by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. The book has been widely used as the textbook for algorithms courses at many universities[1] and is commonly cited as a reference for algorithms in published papers, with over 10,000 citations documented on CiteSeerX.[2] The book sold half a million copies during its first 20 years.[3] Its fame has led to the common use of the abbreviation "CLRS" (Cormen, Leiserson, Rivest, Stein), or, in the first edition, "CLR" (Cormen, Leiserson, Rivest).[4]
Author | Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest Clifford Stein |
---|---|
Country | United States |
Language | English |
Subject | Computer algorithms |
Publisher | MIT Press |
Publication date | 1990 (first edition) |
Pages | 1312 |
ISBN | 978-0-262-04630-5 |
In the preface, the authors write about how the book was written to be comprehensive and useful in both teaching and professional environments. Each chapter focuses on an algorithm, and discusses its design techniques and areas of application. Instead of using a specific programming language, the algorithms are written in pseudocode. The descriptions focus on the aspects of the algorithm itself, its mathematical properties, and emphasize efficiency.[5]
Editions
The first edition of the textbook did not include Stein as an author, and thus the book became known by the initialism CLR. It included two chapters ("Arithmetic Circuits" & "Algorithms for Parallel Computers") that were dropped in the second edition. After the addition of the fourth author in the second edition, many began to refer to the book as "CLRS". This first edition of the book was also known as "The Big White Book (of Algorithms)." With the second edition, the predominant color of the cover changed to green, causing the nickname to be shortened to just "The Big Book (of Algorithms)."[6] The third edition was published in August 2009. The fourth edition was published in April 2022, which has colors added to improve visual presentations.[7]
Cover design
The mobile depicted on the cover, Big Red (1959) by Alexander Calder, can be found at the Whitney Museum of American Art in New York City.[8] An Introduction to Language by Fromkin also uses Calder's mobile on its cover.
Table of contents
Source[9]
- I Foundations
- 1 The Role of Algorithms in Computing
- 2 Getting Started
- 3 Characterizing Running Times
- 4 Divide-and-Conquer
- 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 Tables
- 12 Binary Search Trees
- 13 Red-Black Trees
- IV Advanced Design and Analysis Techniques
- 14 Dynamic Programming
- 15 Greedy Algorithms
- 16 Amortized Analysis
- V Advanced Data Structures
- 17 Augmenting Data Structures
- 18 B-Trees
- 19 Data Structures for Disjoint Sets
- VI Graph Algorithms
- 20 Elementary Graph Algorithms
- 21 Minimum Spanning Trees
- 22 Single-Source Shortest Paths
- 23 All-Pairs Shortest Paths
- 24 Maximum Flow
- 25 Matching in Bipartite Graphs
- VII Selected Topics
- 26 Parallel Algorithms
- 27 Online Algorithms
- 28 Matrix Operations
- 29 Linear Programming
- 30 Polynomials and the FFT
- 31 Number-Theoretic Algorithms
- 32 String Matching
- 33 Machine-Learning Algorithms
- 34 NP-Completeness
- 35 Approximation Algorithms
- VIII Appendix: Mathematical Background
- A Summations
- B Sets, Etc.
- C Counting and Probability
- D Matrices
Publication history
- Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L. (1990). Introduction to Algorithms (1st ed.). MIT Press and McGraw-Hill. ISBN 0-262-03141-8.
- Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2001) [1990]. Introduction to Algorithms (2nd ed.). MIT Press and McGraw-Hill. ISBN 0-262-03293-7. 12 printings up to 2009, errata:[10]
- Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2009) [1990]. Introduction to Algorithms (3rd ed.). MIT Press and McGraw-Hill. ISBN 0-262-03384-4. 1320 pp., 5 printings up to 2016, errata:[11]
- Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2022) [1990]. Introduction to Algorithms (4th ed.). MIT Press and McGraw-Hill. ISBN 0-262-04630-X. 1312 pp., errata:[12]
Reviews
- Akl, Selim G. (1991). "Review of 1st edition". Mathematical Reviews. MR 1066870.
- Mann, C. J. H. (April 2003). "New edition of algorithms book [review of 2nd edition]". Kybernetes. 32 (3). doi:10.1108/k.2003.06732cae.004.
- Thimbleby, Harold (December 3, 2009). "No excuse to be illiterate about IT [review of 3rd edition]". Times Higher Education.
- El-Sharoud, Walid (September 2019). "Review of 3rd edition". Science Progress. 102 (3): 278–279. doi:10.1177/0036850419873799b.
See also
References
- Introduction to Algorithms. MIT Electrical Engineering and Computer Science. MIT Press. 18 June 1990. ISBN 978-0-262-03141-7. Retrieved 2017-07-02.
- "Introduction to Algorithms—CiteSeerX citation query". CiteSeerX. The College of Information Sciences and Technology at Penn State. Retrieved 2012-05-15.
- Larry Hardesty (August 10, 2011). "Milestone for MIT Press's bestseller". MIT News Office. Retrieved August 16, 2011.
- "Eternally Confuzzled - Red/Black Trees". Archived from the original on 2014-11-29. Retrieved 2013-07-17.
- Cormen; Leiserson; Riverst; Stein (2009). "Preface". Introduction to Algorithms (3 ed.). Cambridge, Massachusetts: MIT Press. pp. xiii–xiv. ISBN 978-0-262-03384-8.
- "V-Business Card". www.csd.uwo.ca.
- Cormen, Thomas H. (22 March 2022). Introduction to Algorithms (4th ed.). MIT Press. ISBN 9780262046305. Retrieved August 19, 2022.
- Cormen et al, back cover. See, also, Big Red at the Whitney Museum of American Art web site.
- Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2022) [1990]. Introduction to Algorithms (4th ed.). MIT Press and McGraw-Hill. pp. v–xi. ISBN 0-262-04630-X., online
- "Introduction to Algorithms, Second Edition". www.cs.dartmouth.edu.
- "Introduction to Algorithms, Third Edition". www.cs.dartmouth.edu.
- "Errata for Introduction to Algorithms, 4th Edition". mitp-content-server.mit.edu.