Programming Books C Java PHP Python Learn more Browse Programming Books
  • List Price: $79.99
  • Save: $25.81 (32%)
Only 4 left in stock (more on the way).
Ships from and sold by
Gift-wrap available.
Add to Cart
Want it Monday, April 21? Order within and choose One-Day Shipping at checkout. Details
FREE Shipping on orders over $35.
Used: Good | Details
Sold by P marketing
Condition: Used: Good
Add to Cart
Trade in your item
Get a $6.36
Gift Card.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more

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

ISBN-13: 978-0201896848 ISBN-10: 0201896842 Edition: 3rd

Amazon Price New from Used from Collectible from
"Please retry"
$39.97 $15.25


Frequently Bought Together

Art of Computer Programming, Volume 2: Seminumerical Algorithms (3rd Edition) + Art of Computer Programming, Volume 3: Sorting and Searching (2nd Edition) + Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd Edition)
Price for all three: $164.63

Buy the selected items together


Shop the new
New! Introducing the, a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Product Details

  • Hardcover: 784 pages
  • Publisher: Addison-Wesley Professional; 3 edition (November 14, 1997)
  • Language: English
  • ISBN-10: 0201896842
  • ISBN-13: 978-0201896848
  • Product Dimensions: 9.5 x 6.6 x 1.6 inches
  • Shipping Weight: 2.9 pounds (View shipping rates and policies)
  • Average Customer Review: 4.7 out of 5 stars  See all reviews (11 customer reviews)
  • Amazon Best Sellers Rank: #415,685 in Books (See Top 100 in Books)

Editorial Reviews Review

Volume 2 of Donald Knuth's classic series The Art of Computer Programming covers seminumerical algorithms, with topics ranging from random number generators to floating point operations and other optimized arithmetic algorithms. Truly comprehensive and meticulously written, this book (and series) is that rarest of all creatures--a work of authoritative scholarship in classical computer science, but one that can be read and used profitably by virtually all working programmers.

The book begins with fundamental questions regarding random numbers and how to use algorithms to generate them. Subsequent chapters demonstrate efficient computation of single-precision and double-precision arithmetic calculations and modular arithmetic. The text then presents prime factorization (which can be used in cryptography, for instance) and algorithms for calculating fractions. This volume ends with algorithms for polynomial arithmetic and manipulation of power-series topics, which will benefit those with some knowledge of calculus.

Throughout this beautifully presented edition, Knuth incorporates hundreds of useful exercises for trying out the algorithms. These range from simple problems to larger research project topics. (The book provides answers, where appropriate, at the end of the book.) The result is a text that's suitable for college or graduate-level computer science courses or individual study by programmers. Volume 2 is an indispensable part of any working programmer's library.

From the Back Cover

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 second volume offers a complete introduction to the field of seminumerical algorithms, with separate chapters on random numbers and arithmetic. The book summarizes the major paradigms and basic theory of such algorithms, thereby providing a comprehensive interface between computer programming and numerical analysis. Particularly noteworthy in this third edition is Knuth's new treatment of random number generators, and his discussion of calculations with formal power series.

More About the Author

Donald E. Knuth was born on January 10, 1938 in Milwaukee, Wisconsin. He studied mathematics as an undergraduate at Case Institute of Technology, where he also wrote software at the Computing Center. The Case faculty took the unprecedented step of awarding him a Master's degree together with the B.S. he received in 1960. After graduate studies at California Institute of Technology, he received a Ph.D. in Mathematics in 1963 and then remained on the mathematics faculty. Throughout this period he continued to be involved with software development, serving as consultant to Burroughs Corporation from 1960-1968 and as editor of Programming Languages for ACM publications from 1964-1967.

He joined Stanford University as Professor of Computer Science in 1968, and was appointed to Stanford's first endowed chair in computer science nine years later. As a university professor he introduced a variety of new courses into the curriculum, notably Data Structures and Concrete Mathematics. In 1993 he became Professor Emeritus of The Art of Computer Programming. He has supervised the dissertations of 28 students.

Knuth began in 1962 to prepare textbooks about programming techniques, and this work evolved into a projected seven-volume series entitled The Art of Computer Programming. Volumes 1-3 first appeared in 1968, 1969, and 1973. Having revised these three in 1997, he is now working full time on the remaining volumes. Volume 4A appeared at the beginning of 2011. More than one million copies have already been printed, including translations into ten languages.

He took ten years off from that project to work on digital typography, developing the TeX system for document preparation and the METAFONT system for alphabet design. Noteworthy by-products of those activities were the WEB and CWEB languages for structured documentation, and the accompanying methodology of Literate Programming. TeX is now used to produce most of the world's scientific literature in physics and mathematics.

His research papers have been instrumental in establishing several subareas of computer science and software engineering: LR(k) parsing; attribute grammars; the Knuth-Bendix algorithm for axiomatic reasoning; empirical studies of user programs and profiles; analysis of algorithms. In general, his works have been directed towards the search for a proper balance between theory and practice.

Professor Knuth received the ACM Turing Award in 1974 and became a Fellow of the British Computer Society in 1980, an Honorary Member of the IEEE in 1982. He is a member of the American Academy of Arts and Sciences, the National Academy of Sciences, and the National Academy of Engineering; he is also a foreign associate of l'Academie des Sciences (Paris), Det Norske Videnskaps-Akademi (Oslo), Bayerische Akademie der Wissenschaften (Munich), the Royal Society (London), and Rossiiskaya Akademia Nauk (Moscow). He holds five patents and has published approximately 160 papers in addition to his 28 books. He received the Medal of Science from President Carter in 1979, the American Mathematical Society's Steele Prize for expository writing in 1986, the New York Academy of Sciences Award in 1987, the J.D. Warnier Prize for software methodology in 1989, the Adelskøld Medal from the Swedish Academy of Sciences in 1994, the Harvey Prize from the Technion in 1995, and the Kyoto Prize for advanced technology in 1996. He was a charter recipient of the IEEE Computer Pioneer Award in 1982, after having received the IEEE Computer Society's W. Wallace McDowell Award in 1980; he received the IEEE's John von Neumann Medal in 1995. He holds honorary doctorates from Oxford University, the University of Paris, St. Petersburg University, and more than a dozen colleges and universities in America.

Professor Knuth lives on the Stanford campus with his wife, Jill. They have two children, John and Jennifer. Music is his main avocation.

Customer Reviews

4.7 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See all 11 customer reviews
Share your thoughts with other customers

Most Helpful Customer Reviews

18 of 20 people found the following review helpful By A Customer on April 3, 1998
Format: Hardcover
To an ordinary computer scienist, an algorithm is polynomial-time. To Knuth, it takes 3*n^2 + 17*x + 5 steps on MIX, not counting the time required to display the output, but there might be a way to reduce the number of steps to 3*n^2 + 17*x + 4. For precision and rigor, the Art of Computer Programming books are hard to beat. But, at least for an undergraduate CS student like me, they are slow going. Their greatest value seems to be as a reference for mathematical ideas needed in analysis of algorithms: recurrence relations, combinatorial identities, etc. Like the Bible, the TAOCP books are good to have around even if you don't plan to read them.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
12 of 14 people found the following review helpful By Henrik Sandin on October 7, 1997
Format: Hardcover
This book offers a stringent treatment of random number generators and algorithms not found anywhere else. It is particularly valuable for those that deal with encryption and the analysis of cyphers. The exercises add admirably to the text. References to other books in the field are extensive. The book is written in a non-wordy, but still very readable style, making it accessible to serious computer scientists at all levels. A mathematical background is necessary.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
6 of 6 people found the following review helpful By Vincent Poirier on August 9, 2006
Format: Hardcover
Volume 2 of "The Art of Computer Programming" is about random numbers and also about relearning one of the three Rs from grade school, viz. arithmetic. Each topic gets one chapter.

When you generate random numbers in Excel, or VBA, or Perl, or C using functions packaged with the software, you are really using a deterministic algorithm that is not random at all; the results do however look random and so we call them "pseudorandom".

Chapter 3 contains four main sections. First a section devoted to the linear congruence method (Xn+1=(aXn + c) mod m) of generating a pseudorandom sequence; with subsections on how to choose good values for a, c, and m. Second we get a section about how to test sequences to find if they are acceptably random or not. Third we find a section on other methods, expanding on linear congruence. Finally in a particularly fascinating section, DK provides a rigorous definition of randomness.

I haven't looked much at chapter 4 yet, on arithmetic. In it Knuth covers positional arithmetic, floating point arithmetic, multiplication and division at the machine level, prime numbers and efficient ways of investigating the primeness of very large numbers.

Again, DK is thorough and methodical. Again this is not a for dummies book. Again it is about theorems, algorithms, mechanical processes, and timeless truths. Again the exercises are a fascinating blend of the practical (investigate the random generating functions on the computers in your office) to the mathematical (he asks readers to formally prove many of the theorems he cites). And yes, again Knuth uses MIX, that wonderfully archaic fictional 60s machine language. But that should not stop readers; I use Perl.

Vincent Poirier, Tokyo
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
4 of 4 people found the following review helpful By A Customer on March 5, 1998
Format: Hardcover
Of course this is a classic programming text, but the book is fascinating from a mathematical point as well. The discussion of random number generation is worth the price alone. Also neat is the discussion of why numbers with lower initial digits are 'more common' in practice than those with higher initial digits, a topic I've never seen treated elsewhere.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
10 of 13 people found the following review helpful By A Customer on April 1, 1998
Format: Hardcover
Knuth's presentation is obscure and difficult, but he's awfully comprehensive. If you want to learn algorithms, or even if you're looking for a reference, there are many better choices (especially Introduction to Algorithms, the CLR book). That said, I can't point to a more thorough book. Among other things, The Art of Computer Programming series is a great source of problems if you're teaching, learning, or just looking for fun. It might be worth the price just for that.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
8 of 11 people found the following review helpful By A Customer on March 25, 1998
Format: Hardcover
These volumes are considered first-class references on the subject of computing and algorithms. And they are... but these aren't really books to read. Nobody has time for that. However, for those computer scientists that really are hard up for something to read one of those rainy nights, Knuth has a personal flair and humor that spills into his algorithm summaries and exercises that is unsurpassed, at least in the field of CS handbooks. An excellent source for solutions to commonly asked questions and problems.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Product Images from Customers