Introduction to Algorithms
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein

bdbs commerce | beta


Hardcover: 1312 pages
Publisher: The MIT Press; third edition (July 31, 2009)
Language: English
ISBN-10: 0262033844
ISBN-13: 978-0262033848
Physical Trim: 9.1 x 8.2 x 2.1 inches

Introduction to Algorithms
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein

bdbs commerce | beta


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 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. It includes two completely new chapters, on van Emde Boas trees and multithreaded algorithms, and substantial additions to the chapter on recurrences (now called "Divide-and-Conquer"). It features improved treatment of dynamic programming and greedy algorithms and a new notion of edge-based flow in the material on flow networks. Many new exercises and problems have been added for this edition.

About the Authors

Thomas H. Cormen is Professor of Computer Science and former Director of the Institute for Writing and Rhetoric at Dartmouth College.

Charles E. Leiserson is Professor of Computer Science and Engineering at the Massachusetts Institute of Technology.

Ronald L. Rivest is Andrew and Erna Viterbi Professor of Electrical Engineering and Computer Science at the Massachusetts Institute of Technology.

Clifford Stein is Professor of Industrial Engineering and Operations Research at Columbia University.


"In light of the explosive growth in the amount of data and the diversity of computing applications, efficient algorithms are needed now more than ever. This beautifully written, thoughtfully organized book is the definitive introductory book on the design and analysis of algorithms. The first half offers an effective method to teach and study algorithms; the second half then engages more advanced readers and curious students with compelling material on both the possibilities and the challenges in this fascinating field."
- Shang-Hua Teng, University of Southern California

"Introduction to Algorithms, the 'bible' of the field, is a comprehensive textbook covering the full spectrum of modern algorithms: from the fastest algorithms and data structures to polynomial-time algorithms for seemingly intractable problems, from classical algorithms in graph theory to special algorithms for string matching, computational geometry, and number theory. The revised third edition notably adds a chapter on van Emde Boas trees, one of the most useful data structures, and on multithreaded algorithms, a topic of increasing importance."
- Daniel Spielman, Department of Computer Science, Yale University

"As an educator and researcher in the field of algorithms for over two decades, I can unequivocally say that the Cormen book is the best textbook that I have ever seen on this subject. It offers an incisive, encyclopedic, and modern treatment of algorithms, and our department will continue to use it for teaching at both the graduate and undergraduate levels, as well as a reliable research reference."
- Gabriel Robins, Department of Computer Science, University of Virginia

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam placerat, velit at volutpat vestibulum, est mauris interdum nisi, ut lobortis mauris nunc vel elit. Praesent vel massa elit. In et dui odio. Aenean pharetra augue eget arcu eleifend laoreet. Nulla vel neque sed arcu rhoncus pharetra. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce tortor est, faucibus a suscipit eu, accumsan eget dolor. Aliquam nibh metus, lacinia sit amet feugiat non, gravida nec velit. Quisque accumsan enim eget odio pellentesque tempus. Vestibulum dictum iaculis velit sit amet feugiat.

Phasellus in massa vel ante fermentum venenatis ut nec dui. Proin mollis fermentum blandit. Ut dignissim aliquam neque, eu hendrerit justo bibendum in. Nulla at est vitae quam placerat sagittis et at orci. Aliquam quis urna eget nibh sodales vulputate. Sed hendrerit mattis viverra. Fusce metus est, mattis at mollis nec, mollis vel justo. Nam egestas ultrices tortor, a pellentesque nunc lacinia sit amet. Vestibulum non sapien neque. Nulla blandit felis quis augue viverra faucibus ac non mauris.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras sodales leo vitae nibh cursus ullamcorper. Sed gravida mauris ac nisi posuere vel tempus sem mattis. Quisque vitae sem arcu, ac hendrerit lacus. Donec pharetra ipsum ac velit feugiat commodo. Suspendisse condimentum vehicula justo et tincidunt. Praesent iaculis venenatis elit, nec suscipit tortor rutrum in. Curabitur augue neque, elementum eu fermentum et, ullamcorper mollis risus. Ut cursus vestibulum blandit. Donec cursus porta libero, a fringilla turpis egestas ut. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Vivamus orci sapien, pretium ac tincidunt vitae, vestibulum eu enim. Cras congue nisi quis quam consectetur consequat sed ut neque. Mauris id diam lacus, sed gravida quam. Fusce a pretium quam. Duis gravida aliquam cursus. Nam vel elementum metus. Phasellus dapibus, arcu id egestas eleifend, urna ante sagittis leo, ut consectetur nisi justo cursus nibh. Aliquam porttitor, lectus nec placerat sollicitudin, mi magna pellentesque sem, quis porttitor urna risus quis metus. Proin dignissim sollicitudin leo, nec fringilla tellus volutpat a. Curabitur velit ante, molestie et facilisis in, tincidunt sit amet sapien. Sed at odio risus, in blandit est. Phasellus tempus, ante sed venenatis suscipit, diam velit vehicula turpis, in placerat lectus tortor non turpis. Fusce a dolor non diam egestas feugiat sed et nisi. Sed ullamcorper elit ac nibh semper vel vestibulum nunc ultrices. Integer varius mi id dolor malesuada vitae ullamcorper libero varius. Duis et orci eros. Maecenas nibh urna, faucibus quis luctus nec, fringilla in nulla. Pellentesque vel massa ligula, sed convallis elit. Proin sapien urna, suscipit ac fringilla hendrerit, vulputate id odio. Phasellus dignissim convallis neque, id lobortis libero vehicula vitae.

Integer urna dolor, semper nec mattis a, suscipit in diam. Nulla tempor enim nisl, ut mollis nisl. Nulla sit amet metus ut enim consequat fermentum. Mauris sed felis urna. Mauris ac nibh lectus, nec lobortis leo. Suspendisse potenti. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Praesent molestie pretium dolor, vel consequat odio varius sit amet. Vestibulum scelerisque feugiat neque, nec sollicitudin turpis faucibus a. Donec eget neque ut purus lobortis congue. Fusce eleifend convallis ipsum, at laoreet dolor dictum ac. Maecenas sed nunc risus. Morbi porta ligula varius leo volutpat sit amet porttitor quam eleifend. Ut iaculis blandit tincidunt. Nullam volutpat, magna at sodales ornare, ligula odio semper neque, adipiscing rhoncus felis leo quis ipsum. Quisque leo orci, ultricies sed lacinia et, volutpat a metus. Aliquam facilisis dapibus lorem, ut scelerisque felis aliquam vitae.

Praesent ligula diam, adipiscing ac congue et, aliquam quis justo. Mauris elementum massa sed libero fermentum vulputate. Ut ligula velit, tincidunt nec scelerisque ac, tincidunt in metus. Vivamus rhoncus nibh ut orci blandit eu varius mi tincidunt. Nulla facilisi. Nunc cursus est in libero rhoncus tincidunt varius enim luctus. Praesent at est mauris. Mauris venenatis dapibus turpis, ut aliquet quam laoreet sit amet. Praesent volutpat, dolor sit amet interdum vulputate, nulla urna pellentesque leo, aliquam accumsan tellus arcu eu leo. Vivamus eget dolor sed sem fringilla rutrum sit amet at augue. Donec hendrerit ipsum vel eros placerat nec dictum ligula dignissim. Vestibulum euismod aliquet tristique. Nam nec mi et elit lobortis interdum. Nulla facilisi. Integer a urna dolor, id suscipit augue. Nullam scelerisque porta lectus, sit amet pellentesque massa tristique et. Donec gravida tincidunt diam vitae tincidunt. Quisque ac turpis sit amet dui consequat ultrices. Maecenas rutrum rutrum magna ut bibendum.

Sed nisl felis, semper eu dapibus non, commodo vitae leo. Nulla at tellus et ligula faucibus adipiscing. Quisque vitae nunc vitae lectus varius porttitor. Duis ut lorem lorem, id mollis sapien. Proin ullamcorper diam id lacus dictum facilisis. Donec porttitor dolor ut mauris viverra rhoncus. Maecenas aliquam magna quis nisl faucibus quis congue nulla molestie. Praesent semper condimentum massa id sollicitudin. Donec mollis rhoncus sapien id molestie. Cras sagittis commodo suscipit. Nullam non nibh in leo aliquam facilisis. Fusce mollis ornare tristique. Donec ultricies condimentum imperdiet. Phasellus tincidunt diam quis elit pharetra laoreet.

Etiam sodales lacus accumsan metus aliquet volutpat ornare enim tempor. Curabitur ac venenatis nulla. Duis condimentum nibh vel sem vestibulum a euismod enim luctus. Duis id leo non dolor lobortis venenatis. Quisque a nulla dolor. Mauris pellentesque dignissim suscipit. Duis dictum tristique pellentesque. Aliquam ornare augue eu nulla rutrum et pretium nibh fermentum. Donec vitae nisi arcu. Proin volutpat urna at enim facilisis nec ornare diam rhoncus.

Integer porttitor, augue non volutpat feugiat, elit ante adipiscing quam, ut scelerisque erat augue quis nisl. In hac habitasse platea dictumst. Etiam sed magna sit amet sem fringilla condimentum. Aliquam in purus sit amet nunc venenatis varius vitae et libero. Fusce ut ornare mi. Quisque lacus mi, egestas eu volutpat ac, vehicula id risus. Mauris venenatis suscipit lacus, et vehicula libero rutrum sit amet. Sed at nibh nisl. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Proin elit quam, aliquam quis faucibus nec, egestas eget nisl. Vivamus libero arcu, vulputate ut porttitor scelerisque, lacinia auctor turpis. Maecenas id mi et nibh scelerisque molestie. Phasellus ornare, justo eu porta lobortis, sem arcu congue justo, vel pulvinar urna felis ut nisi. Morbi sapien nibh, aliquam a placerat quis, euismod vel risus. Etiam imperdiet varius metus a aliquet. Nullam eget mi vel turpis convallis consequat. Quisque ornare, neque in gravida dignissim, turpis risus dapibus elit, in ultricies ipsum arcu eu nisl. Fusce elementum elit eu lacus euismod eget laoreet metus fermentum. Ut ac felis in urna pellentesque luctus. Nulla odio elit, cursus vitae imperdiet non, pretium vitae felis. Curabitur facilisis, diam sed scelerisque consequat, eros elit faucibus purus, ut vulputate magna ligula vel mi.

Nulla dapibus ornare nisi, et dignissim risus tincidunt nec, etc...