Synopses & Reviews
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
Countless readers have spoken about the profound personal influence of Knuth’s work. Scientists have marveled at the beauty and elegance of his analysis, while ordinary programmers have successfully applied his “cookbook” solutions to their day-to-day problems. All have admired Knuth for the breadth, clarity, accuracy, and good humor found in his books.
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
Primarily written as a reference, some people have nevertheless found it possible and interesting to read each volume from beginning to end. A programmer in China even compared the experience to reading a poem.
If you think you’re a really good programmer… read [Knuth’s] Art of Computer Programming… You should definitely send me a résumé if you can read the whole thing.
—Bill Gates
Whatever your background, if you need to do any serious computer programming, you will find your own good reason to make each volume in this series a readily accessible part of your scholarly or professional library.
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
In describing the new fourth volume, one reviewer listed the qualities that distinguish all of Knuth’s work.
[In sum:] detailed coverage of the basics, illustrated with well-chosen examples; occasional forays into more esoteric topics and problems at the frontiers of research; impeccable writing peppered with occasional bits of humor; extensive collections of exercises, all with solutions or helpful hints; a careful attention to history; implementations of many of the algorithms in his classic step-by-step form.
—Frank Ruskey
These four books comprise what easily could be the most important set of information on any serious programmer’s bookshelf.
Synopsis
The first revision of this third volume is the most comprehensive survey of 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 a new discussion of the theory of permutations and of universal hashing.
Synopsis
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.
Synopsis
The third text in a series covering computer programming. This volume presents a survey of computer techniques for sorting and searching. It also extends the treatment of data structures to consider both large and small databases and internal and external memories.
Synopsis
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.
Synopsis
Finally, after a wait of more than thirty-five years, the first part of Volume 4 is at last ready for publication. Check out the boxed set that brings together Volumes 1 - 4A in one elegant case, and offers the purchaser a $50 discount off the price of buying the four volumes individually.
The Art of Computer Programming, Volumes 1-4A Boxed Set, 3/e
Synopsis
This boxed set consists of the following four volumes:
0201896834 / 9780201896831 Art of Computer Programming, Volume 1: Fundamental Algorithms
0201896842 / 9780201896848 Art of Computer Programming, Volume 2: Seminumerical Algorithms
0201896850 / 9780201896855 Art of Computer Programming, Volume 3: Sorting and Searching
0201038048 / 9780201038040 Art of Computer Programming, Volume 4A: Combinatorial Algorithms
About the Author
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.
Table of Contents
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