Art of Computer Programming, The: Volume 3: Sorting and Searching, 2nd edition

Published by Addison-Wesley Professional (April 24, 1998) © 1998

  • Donald E. Knuth

eTextbook

$75.99

  • Available for purchase from all major ebook resellers, including InformIT.com.
  • To request a review copy, click on the "Request a Review Copy" button.
$63.99

  • A print text (hardcover or paperback) 
  • Free shipping
  • Also available for purchase as an ebook from all major ebook resellers, including InformIT.com

The bible of all fundamental algorithms and the work that taught many of today's software developers most of what they know about computer programming.

–Byte, September 1995

I can't begin to tell you how many pleasurable hours of study and recreation they have afforded me! I have pored over them in cars, restaurants, at work, at home... and even at a Little League game when my son wasn't in the line-up.

–Charles Long

If you think you're a really good programmer... read [Knuth's] Art of Computer Programming... You should definitely send me a resume if you can read the whole thing.

–Bill Gates

It's always a pleasure when a problem is hard enough that you have to get the Knuths off the shelf. I find that merely opening one has a very useful terrorizing effect on computers.

–Jonathan Laventhol

The first revision of this third volume is the most comprehensive survey of classical computer techniques for sorting and searching. It extends the treatment of data structures in Volume 1 to consider both large and small databases and internal and external memories. The book contains a selection of carefully checked computer methods, with a quantitative analysis of their efficiency. Outstanding features of the second edition include a revised section on optimum sorting and new discussions of the theory of permutations and of universal hashing.

Ebook (PDF version) produced by Mathematical Sciences Publishers (MSP),http://msp.org



5. Sorting.

Combinatorial Properties of Permutations.

Inversions.

Permutations of a Multiset.

Runs.

Tableaux and Involutions.

Internal sorting.

Sorting by Insertion.

Sorting by Exchanging.

Sorting by Selection.

Sorting by Merging.

Sorting by Distribution.

Optimum Sorting.

Minimum-Comparison Sorting.

Minimum-Comparison Merging.

Minimum-Comparison Selection.

Networks for Sorting.

External Sorting.

Multiway Merging and Replacement Selection.

The Polyphase Merge.

The Cascade Merge.

Reading Tape Backwards.

The Oscillating Sort.

Practical Considerations for Tape Merging.

External Radix Sorting.

Two-Tape Sorting.

Disks and Drums.

Summary, History, and Bibliography.



6. Searching.

Sequential Searching.

Searching by Comparison of Keys.

Searching an Ordered Table.

Binary Tree Searching.

Balanced Trees.

Multiway Trees.

Digital Searching.

Hashing.

Retrieval on Secondary Keys.



Answers to Exercises.


Appendix A: Tables of Numerical Quantities.

Fundamental Constants (decimal).

Fundamental Constants (octal).

Harmonic Numbers, Bernoulli Numbers, Fibonacci Numbers.



Appendix B: Index to Notations.


Index and Glossary. 0201896850T04062001

Donald E. Knuth is known throughout the world for his pioneering work on algorithms and programming techniques, for his invention of the Tex and Metafont systems for computer typesetting, and for his prolific and influential writing. Professor Emeritus of The Art of Computer Programming at Stanford University, he currently devotes full time to the completion of these fascicles and the seven volumes to which they belong.


Need help? Get in touch

Video
Play
Privacy and cookies
By watching, you agree Pearson can share your viewership data for marketing and analytics for one year, revocable by deleting your cookies.

Pearson eTextbook: What’s on the inside just might surprise you

They say you can’t judge a book by its cover. It’s the same with your students. Meet each one right where they are with an engaging, interactive, personalized learning experience that goes beyond the textbook to fit any schedule, any budget, and any lifestyle.Â