or
Sign in to turn on 1-Click ordering.
 
 
Express Checkout with PayPhrase
What's this? | Create PayPhrase
More Buying Choices
45 used & new from $29.00

Have one to sell? Sell yours here
 
   
Art of Computer Programming, Volume 3: Sorting and Searching (2nd Edition)
 
See larger image
 
Tell the Publisher!
I’d like to read this book on Kindle

Don’t have a Kindle? Get your Kindle here.
 
  

Art of Computer Programming, Volume 3: Sorting and Searching (2nd Edition) (Hardcover)

~ (Author)
4.8 out of 5 stars  See all reviews (8 customer reviews)

List Price: $74.99
Price: $50.80 & this item ships for FREE with Super Saver Shipping. Details
You Save: $24.19 (32%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.

Want it delivered Wednesday, December 2? Choose One-Day Shipping at checkout. Details
Ordering for Christmas? To ensure delivery by December 24, choose FREE Super Saver Shipping at checkout. Read more about holiday shipping.

27 new from $38.05 18 used from $29.00

Frequently Bought Together

Art of Computer Programming, Volume 3: Sorting and Searching (2nd Edition) + Art of Computer Programming, Volume 2: Seminumerical Algorithms (3rd Edition) + Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd Edition)
Price For All Three: $160.09

Show availability and shipping details


Customers Who Bought This Item Also Bought

Art of Computer Programming, Volume 2: Seminumerical Algorithms (3rd Edition)

Art of Computer Programming, Volume 2: Seminumerical Algorithms (3rd Edition)

by Donald E. Knuth
4.8 out of 5 stars (5)  $58.49
Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd Edition)

Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd Edition)

by Donald E. Knuth
4.2 out of 5 stars (48)  $50.80
The Art of Computer Programming, Vol. 4, Fascicles 0-4 (5 Volume Set)

The Art of Computer Programming, Vol. 4, Fascicles 0-4 (5 Volume Set)

by Donald E. Knuth
5.0 out of 5 stars (2)  $73.02
The Art of Computer Programming, Volume 4, Fascicle 0: Introduction to Combinatorial Algorithms and Boolean Functions

The Art of Computer Programming, Volume 4, Fascicle 0: Introduction to Combinatorial Algorithms and Boolean Functions

by Donald E. Knuth
5.0 out of 5 stars (3)  $12.92
The Art of Computer Programming, Volume 1, Fascicle 1: MMIX -- A RISC Computer for the New Millennium

The Art of Computer Programming, Volume 1, Fascicle 1: MMIX -- A RISC Computer for the New Millennium

by Donald E. Knuth
4.3 out of 5 stars (3)  $12.89
Explore similar items

Editorial Reviews

Product Description

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.


From the Inside Flap

Cookery is become an art,
a noble science;
cooks are gentlemen.
TITUS LIVIUS, Ab Urbe Condita XXXIX.vi
(Robert Burton, Anatomy of Melancholy 1.2.2.2)

This book forms a natural sequel to the material on information structures in Chapter 2 of Volume 1, because it adds the concept of linearly ordered data to the other basic structural ideas.

The title "Sorting and Searching" may sound as if this book is only for those systems programmers who are concerned with the preparation of general-purpose sorting routines or applications to information retrieval. But in fact the area of sorting and searching provides an ideal framework for discussing a wide variety of important general issues:

How are good algorithms discovered? How can given algorithms and programs be improved? How can the efficiency of algorithms be analyzed mathematically? How can a person choose rationally between different algorithms for the same task? In what senses can algorithms be proved ''best possible''? How does the theory of computing interact with practical considerations? How can external memories like tapes, drums, or disks be used efficiently with large databases?

Indeed, I believe that virtually every important aspect of programming arises somewhere in the context of sorting or searching!

This volume comprises Chapters 5 and 6 of the complete series. Chapter 5 is concerned with sorting into order; this is a large subject that has been divided chiefly into two parts, internal sorting and external sorting. There also are supplementary sections, which develop auxiliary theories about permutations (Section 5.1) and about optimum techniques for sorting (Section 5.3). Chapter 6 deals with the problem of searching for specified items in tables or files; this is subdivided into methods that search sequentially, or by comparison of keys, or by digital properties, or by hashing, and then the more difficult problem of secondary key retrieval is considered. There searching related to sorting is a surprising amount of interplay between both chapters, with strong analogies tying the topics together. Two important varieties of information structures are also discussed, in addition to those considered in Chapter 2, namely priority queues (Section 5.2.3) and linear lists represented as balanced trees (Section 6.2.3).

Like Volumes 1 and 2, this book includes a lot of material that does not appear in other publications. Many people have kindly written to me about their ideas, or spoken to me about them, and I hope that I have not distorted the material too badly when I have presented it in my own words.

I have not had time to search the patent literature systematically; indeed, I decry the current tendency to seek patents on algorithms (see Section 5.4.5). If somebody sends me a copy of a relevant patent not presently cited in this book, I will dutifully refer to it in future editions. However, I want to encourage people to continue the centuries-old mathematical tradition of putting newly discovered algorithms into the public domain. There are better ways to earn a living than to prevent other people from making use of one's contributions to computer science.

Before I retired from teaching, I used this book as a text for a student's second course in data structures, at the junior-to-graduate level, omitting most of the mathematical material. I also used the mathematical portions of this book as the basis for graduate-level courses in the analysis of algorithms, emphasizing especially Sections 5.1, 5.2.2, 6.3, and 6.4. A graduate-level course on concrete computational complexity could also be based on Sections 5.3, and 5.4.4, together with Sections 4.3.3, 4.6.3, and 4.6.4 of Volume 2.

For the most part this book is self-contained, except for occasional discussions relating to the MIX computer explained in Volume 1. Appendix B MIX computer contains a summary of the mathematical notations used, some of which are a little different from those found in traditional mathematics books. Preface to the Second Edition

This new edition matches the third editions of Volumes 1 and 2, in which I have been able to celebrate the completion of TeX and MF by applying those systems to the publications they were designed for.

The conversion to electronic format has given me the opportunity to go over every word of the text and every punctuation mark. I've tried to retain the youthful exuberance of my original sentences while perhaps adding some more mature judgment. Dozens of new exercises have been added; dozens of old exercises have been given new and improved answers. Changes appear everywhere, but most significantly in Sections 5.1.4 (about permutations and tableaux), 5.3 (about optimum sorting), 5.4.9 (about disk sorting), 6.2.2 (about entropy), 6.4 (about universal hashing), and 6.5 (about multidimensional trees and tries).

The Art of Computer Programming is, however, still a work in progress. Research on sorting and searching continues to grow at a phenomenal rate. Therefore some parts of this book are headed by an ''under construction'' icon, to apologize for the fact that the material is not up-to-date. For example, if I were teaching an undergraduate class on data structures today, I would surely discuss randomized structures such as treaps at some length; but at present, I am only able to cite the principal papers on the subject, and to announce plans for a future Section 6.2.5 (see page 6.2.5). My files are bursting with important material that I plan to include in the final, glorious, third edition of Volume 3, perhaps 17 years from now. But I must finish Volumes 4 and 5 first, and I do not want to delay their publication any more than absolutely necessary.

I am enormously grateful to the many hundreds of people who have helped me to gather and refine this material during the past 35 years. Most of the hard work of preparing the new edition was accomplished by Phyllis Winkler (who put the text of the first edition into TeX form), by Silvio Levy (who edited it extensively and helped to prepare several dozen illustrations), and by Jeffrey Oldham (who converted more than 250 of the original illustrations to METAPOST format). The production staff at Addison Wesley has also been extremely helpful, as usual.

D. E. K.
Stanford, California
February 1998

There are certain common Privileges of a Writer,
the Benefit whereof, I hope, there will be no Reason to doubt;
Particularly, that where I am not understood, it shall be concluded,
that something very useful and profound is coucht underneath.
JONATHAN SWIFT, Tale of a Tub, Preface (1704)

0201896850P04062001


Product Details

  • Hardcover: 800 pages
  • Publisher: Addison-Wesley Professional; 2 edition (May 4, 1998)
  • Language: English
  • ISBN-10: 0201896850
  • ISBN-13: 978-0201896855
  • Product Dimensions: 9.4 x 6.5 x 1.6 inches
  • Shipping Weight: 3 pounds (View shipping rates and policies)
  • Average Customer Review: 4.8 out of 5 stars  See all reviews (8 customer reviews)
  • Amazon.com Sales Rank: #348,948 in Books (See Bestsellers in Books)

More About the Author

Donald E. Knuth
Discover books, learn about writers, read author blogs, and more.

Visit Amazon's Donald E. Knuth Page

What Do Customers Ultimately Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

 

Customer Reviews

8 Reviews
5 star:
 (6)
4 star:
 (2)
3 star:    (0)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.8 out of 5 stars (8 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
6 of 6 people found the following review helpful:
5.0 out of 5 stars What's old is new again, November 4, 2006
By wiredweird "wiredweird" (Earth, or somewhere nearby) - See all my reviews
(TOP 100 REVIEWER)   
Amazon Verified Purchase(What's this?)
First the basics: it's great, it provides wide-ranging and deep analysis, it shows many views and variants of each problem, and its bibliography is helpful, though not exhaustive. The historical notes, including sorts for drum storage, may seem quaint to modern readers. And sorting has been done, right? You just run a shell program or call a function, and tap into the best technology. Does it need to be done again?

Yes, if you're on the edge of technology, it does need to be done again, and again, and again. That's because technology keeps expanding, and violating old assumptions as it does. Memories got big enough that the million-record sort is now a yawn, where it used to be a journal article. But, at the same time, processor clocks got 100-1000x ahead of memory speeds. All of a sudden, those drum-based algorithms are worth another look, because yesteryear's drum:memory ratios are a lot like today's memory:cache ratios of size and speed - and who doesn't want a 100x speedup? Parallel processing is moving from the supercomputing elite into laptops, causing more tremors in the ground rules. GPU and reconfigurable computing also open whole new realms of pitfalls as well as opportunities.

Knuth points out that the analyses have beauty in themselves, for people with eyes to see it. His analyses also demonstrate techniques applicable way beyond the immediate discussion, too. Today, though, I have nasty problems in technologies that no one really knows how to handle very well. I have to go back and check all the assumptions again, since so many of them changed. If that's the kind of problem you have, too, then this is the place to start.

//wiredweird
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
17 of 21 people found the following review helpful:
4.0 out of 5 stars Legendary book, December 22, 1999
By Alen Lovrencic (Varazdin, Croatia) - See all my reviews
This book is bible of computer programming.

It contains most detailed explanation of searching and sorting methods I ever found in a book. Contains all internal sorting and searching and external sorting and searching algorithms.

The only drawback of the book is that all algorithms are written in MIX - some kind of assembler, and because of that they are hard to read.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
8 of 10 people found the following review helpful:
5.0 out of 5 stars The best known source of seaching and sorting algorithms, March 23, 1997
By A Customer
This book in a keystone work of computer science. Now and then one needs a "binary search" or a related algorithm, and Knuth's book has it. Such algorithms, although basic, are notoriously easy to get wrong. The style of writing requires the reader to have some mathematics and programming background. Otherwise a reader will need to study the writing style and algorithm description. Computer Scientists are waiting for this skilled practitioner to finish his life's work, namely Vols. 4-7. Let us hope the author has the patience and time to accomplish it.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews

4.0 out of 5 stars Excellent but needs improvement

Excellent reference.

However, I didn't like the idea of using MIX assembly language. Read more
Published on September 3, 2005 by Yusuf Motiwala

5.0 out of 5 stars Just try sorting and searching with out this book.
I just bought the book I needed out of the set. I needed to build a database that did not use any commercial package (this gives full access and no royalties). Read more
Published on August 3, 2004 by bernie

5.0 out of 5 stars The Encyclopedia of Algorithms
As a previous review said: "This is a book about the science of algorithms. Algorithms are either right or wrong. Read more
Published on July 11, 2004 by Bob Matthews

5.0 out of 5 stars Pioneer in sorting algorithms awaits new edition by Knuth.
As the inventor of numerous algorithms described in Prof. Knuth's Vol. 3, 1st edition, I am very interested in his 2nd edition, when available. Read more
Published on November 28, 1997 by Harold H. Seward (oxfund@msn.com)

5.0 out of 5 stars The best reference for all programmers in all levels
The book is quite beneficial for all programmers in all ages. Not only the foundations of the programmer be improved, some techniques are also introduced in the best fashion yet
Published on August 30, 1997

Only search this product's reviews



Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Discussion Replies Latest Post
Most influencial computer pioneers? 6 11 days ago
Search Customer Discussions
Search all Amazon discussions
   




Product Information from the Amapedia Community

Beta (What's this?)


Look for Similar Items by Category


Look for Similar Items by Subject

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Your Recent History

 (What's this?)

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.