Introduction to Algorithms
MIT Press, Jul 31, 2009 - Computers - 1292 pages
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, substantial additions to the chapter on recurrence (now called "Divide-and-Conquer"), and an appendix on matrices. 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. As of the third edition, this textbook is published exclusively by the MIT Press.
What people are saying - Write a review
We haven't found any reviews in the usual places.
Other editions - View all
amortized cost analysis AŒi array assume asymptotic attribute B-tree binary search tree Chapter compute constant constraints contains data structure define delete denote depth-first search directed graph dynamic edge element equation example Exercise Fibonacci heap Figure flow network given graph G D V;E hash function hash table implement input insertion sort integer iteration Lemma linear program linked list loop invariant loop of lines matrix maximum flow merge sort method minimum spanning tree modulo multiplication multithreaded negative-weight cycle nlgn node nonnegative notation O.lgn objective value operations optimal solution optimal substructure parallel partition perform permutation pointer polynomial problem procedure Proof prove pseudocode queue quicksort random recursive call red-black tree relabel Section sequence shortest path Show simple path SIMPLEX slack form solve stack stored subarray subproblems subtree Suppose takes Theorem variables vertex vertices weight worst-case running x:key