The Stanford GraphBase: A Platform for Combinatorial Computing represents the first efforts of Donald E. Knuth's preparation for Volume Four of The Art of Computer Programming. The book's first goal is to use examples to demonstrate the art of literate programming. Each example provides a programmatic essay that can be read and enjoyed as readily as it can be interpreted by machines. In these essays/programs, Knuth makes new contributions to several important algorithms and data structures, so the programs are of special interest for their content as well as for their style.
The book's second goal is to provide a useful means for comparing combinatorial algorithms and for evaluating methods of combinatorial computing. To this end, Knuth's programs offer standard, freely available sets of data - the Stanford GraphBase - that may be used as benchmarks to test competing methods. The data sets are both interesting in themselves and applicable to a wide variety of problem domains. With objective tests, Knuth hopes to bridge the gap between theoretical computer scientists and programmers who have real problems to solve.
As with all of Knuth's writings, this book is appreciated not only for the author's unmatched insight, but also for the fun and the challenge of his work. He illustrates many of the most significant and most beautiful combinatorial algorithms that are presently known and provides sample programs that can lead to hours of amusement. In showing how the Stanford GraphBase can generate an almost inexhaustible supply of challenging problems, some of which may lead to the discovery of new and improved algorithms, Knuth proposes friendly competitions. His own initial entries into such competitions are included in the book, and readers are challenged to do better.
- Includes new contributions to our understanding of important algorithms and data structures
- Provides a standard tool for evaluating combinatorial algorithms
- Demonstrates a more readable, more practical style of programming
- Challenges readers to surpass his own efficient algorithms