The Art of Computer Programming (6 books)

(63 customer reviews)

Original price was: $499,99.Current price is: $54,99.

  • 100% Satisfaction Guaranteed!
  • Immediate Digital Delivery
  • Download Risk-Free

✔️ Folder: File: 44 PDF & 4 EPUB 1058.79 MB

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

This first volume in the series begins with basic programming concepts and techniques, then focuses more particularly on information structures–the representation of information inside a computer, the structural relationships between data elements and how to deal with them efficiently. Elementary applications are given to simulation, numerical methods, symbolic computing, software and system design. Dozens of simple and important algorithms and techniques have been added to those of the previous edition. The section on mathematical preliminaries has been extensively revised to match present trends in research.

Books in this series (6 books)

The Art of Computer Programming, Vol. 1: Fundamental Algorithms, 3rd Edition
Art of Computer Programming, The: Combinatorial Algorithms, Volume 4A, Part 1
Art of Computer Programming, The: Satisfiability, Volume 4, Fascicle 6
Art of Computer Programming, The: Seminumerical Algorithms, Volume 2
Art of Computer Programming, The: Sorting and Searching, Volume 3
The Art of Computer Programming, Volume 4, Fascicle 2: Generating All Tuples and Permutations1st Edition

63 reviews for The Art of Computer Programming (6 books)

  1. S. Taggart

    Yes, it is risky to review an author such as Knuth. But, certain things must be said and it seems like I may be the only one to say them. First, Knuth’s books, including this new addition are invaluable resources of wisdom. Their depth and tenacity are rarely found elsewhere in our industry. That being said, I believe Knuth has really missed a big mark in this new addition.

    My chief complaint of all of Knuth’s “Art of” series is his incessant use of “MIX”. MIX is Knuth’s homebrew assembly language he uses to analyse the computer algorithms he describes. When Knuth first wrote the “Art of” series, assembly language was thankfully dying. 20 years later, no one but Knuth would even consider writing a book filled with such gibberish. There is no possible way at the end of the 1990s that this nonsense can be justified. Knuth has really missed the mark by insisting on having MIX in his books. What about C or C++, Pascal, BASIC, or even his own high-level psuedo-language? Here’s the “God” of computer programming pushing this wretched gobbledygook on us. I can only attribute his horrid fascination with MIX to one of three things: Laziness (he doesn’t want to rewrite his analysis – if this is true, then the new additions might need to be re-titled “The Art of Milking a Good Thing”), pride (he just can’t give up his assembly language bastard-child he created), or ignorance. Either way, none of these are good justifications for why us plain mortals have to wade through this mine field of MIXed manure.

    Get with it Don! Come down to our level, be a little bit humble and give us a decent high-level language analysis of your favorite algorithms.

    MIX – R.I.P.

  2. S. Harris

    I recently modified a program I wrote so that it would do operations on polynomials with multi-precision coefficients. For this, I turned to Knuth. This 3-volume set is a great starting point for learning how to implement mathematical calculations on a machine.

    Don’t listen to the “Reader” from CA. This person obviously has a bone to pick with Knuth. Maybe (s)he failed one of his classes. Maybe (s)he should write his/her own book on the subject.

  3. Eric Kent

    The Art of Computer Programming is a classic from Professor Knuth.

    Volume 2 carries on where Vol. 1 left off.

    this is required CS reading and should be required for every programmer.

  4. Yumoji

    Excellent reference.

    However, I didn’t like the idea of using MIX assembly language. Book would have been more readable if examples were in plain english pseudocode (even better would be ‘C’). At least second edition should have taken care of this aspect.

    I also suggest books from Cormen & Sedgewick on same subject.

  5. skeptic

    All three volumes of The Art of Computer Programming (TAOCP), are classic. Each is a book that every CS student should try to study diligently reimplementing example after example. Not many will succeed to finish even a half of one volume, but if you do please buy all three of them and think about post-graduate studies :-).

    I think the most important is to study the Vol 1. It gives enough exposition to the Donald Knuth style and brilliant thinking. While the content is definitely important it is the level of thinking of the author that represents the main value of the book: you instantly understand the book was written by a great scientist and it does not matter much that now the contents of most chapters can be significantly improved using more modern sources. After all Vol 1 is more then a 30 years old book (it is older then Unix) and as such it should be outdated (we all believe in progress, don’t we)… And it is not surprising that parts of Vol 1 on of TAOCP today look completely out of touch with reality especially MIX, the CPU instruction set that is used in all volumes.

    Actually MIX instruction set (and thus assembler) was outdated even when the book was first published and more reflects unique Knuth’s background with IBM 650. It was far from the state of hardware development even in late 60th when the first volume was published, the period when IBM/360 was the king of the hill.

    Now IBM 650, a 1,966 lb machine that consumed almost 30 Kw of electricity looks more like a primitive calculator than a real computer: typical installation has the memory of just 10,000 decimal digits ( 1,000 words; 10 digit per word).

    It’s really sad that Knuth did not adopt System 360 architecture and PL/360 assembler (Wirth’s structured assembler for S/360) for his books but we can do nothing about it. Still this is a book about timeless truths, not the book about the resent CS fashion like Java or you name it :-). It actually can serve as a perfect antidote against any current CS fashion.

    And Knuth does provide pseudocode with his natural language algorithm description. And natural language pseudocode has an important advantage over ‘structured pseudocode. The problem with a “structured pseudocode” is that the set of control structures is fixed and may not reflect the needs of a particular algorithms (branching out of loop is a common problem that is not addressed by structured programming well). Moreover it can cripple the algorithm by enforcing unnatural control structures, the structures that are absent in it but might be present in more modern languages. For example Perl has an interesting set of control structures that is superior to C. But even “Perl control structures set” can be improved further.
    That’s why assembler language is preferable: it never obscures “natural” control structures for each algorithms, structures that one day can be mapped into some new elegant language construct. Also as one review noted “sometimes high level languages with all their abstractions make things look more complex than they need be.”

    I would like to stress it again that each volume is very difficult to read; you really need to work on each chapter by reimplementing the examples that Knuth gives in your favorite language (assembler might help but is not essential).

    Mathematical considerations as for average and worst running time of a particular algorithm can be largely ignored during the first couple of years of study of this book. Actually most mathematics in Vol. 1 can (and probably should) be initially completely ignored. See Softpanorama Classic Computer Books for more information.

    On the negative side this is an overpriced book, if we are talking about students budget. To save money you can buy one of the first editions: there is not that much difference in content to justify the differences in price. The differences do not interfere with the study of the book. Knuth did an excellent work the first time he published each volume and for a significant improvement we probably need another century and another person.

  6. Vincent Poirier

    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

  7. John G. Gephart

    First, I would like to say this is the first Donald Knuth book I have read, only because every programmer respects TAOCP so much that they say it is too hard for the hobby programmer. I have a small background in Computer Science, and some mid-level Math; yet Knuth walks you through some of the most exciting Computer Science problems you could ever dream of with ease! I came to find this book perfect, mostly because my favorite Programming problem is the Traveling Salesman, this book as well as fasicles 3 and 4, are the perfect reference to find great ways to venture into the unsolved TSP Algorithm, and the feared Hamilitonian Cycle.

    Reading about gray generation I immediatly found so much more value to this book than I ever expected. As well, the book then jumps into ways to use loopless generation( which blew my mind! ). Then the best part comes in the second half of the book, “Generating All Permutations” First it starts with a brute force method for achieving all permutations, then Algorithm L to G(my favorite algorithm in the book…) is the largest hurtle in the book; I actually bought the whole TAoCP volumes so I could get through this part because it goes over permutation pre-multiplication ( Knuth has a better way of defining this ), although the idea is simple, an effective way to implement and explore pre-multiplication I found to be extremely important and should not be over looked. Then after that the diffictulty goes to equal as the first half.

    In summary this book is deffinitly worth the wait, and it helps a person, no matter how experienced, to explore new ways to venture out of the straight and narrow, and into an arena of problems that few dare to venture.

  8. wiredweird

    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

  9. M. Johnson

    Am studying Gray codes for a graduate paper. This was an excellent resource. Fun and interesting read.

  10. wiredweird

    Combinatorial problems arise in a wide range of contexts. Among combinatorial problems, generation of all distinct sets of some size (tuples) or all rearrangements of the objects (permutations) occur commonly, often as the first step in a larger calculation. Knuth addresses some important classes of such problems in this book.

    Even “all possible permutations” leaves a wide range of choices open. For example, should the list be in alphabetical order? Should it minimize the number of differences between consecutive elements? Many other constraints can be imposed as well, even esthetic ones! “Ringing the changes” on a carillon is one such combinatorial problem, with a long history and criteria for beauty all its own. However choices are made, the next step is to specify a way of creating the list. This can have constraints of its own. For example, it may be neccesary to create the next arrangement in the sequence knowing only the current element of the sequence. Knuth offers different algorithms for meeting different sets of constraints. If none of them match your needs, then the references will help you find something that does, or the discussion and exercises will help you develop one of your own.

    Although useful, this book is very brief. 144 pages isn’t a lot. Take away 45 pages just for solutions to exercises, then more for index and exercises, and the text is surprisingly brief. What’s left carries its weight, though. It’s a valuable addition to almost programmer’s library.

    — wiredweird

  11. J. E. Sherman

    Three classic volumes from Donald Knuth. I have the 3rd edition. Once your get pass understanding MIX ( MMIX, 4th edition), it is a great technical read. Bring so much to Computer Science. I used them in school. I use them today.

  12. Ed Pegg Jr

    Knuth has written many books considered classics. Some of the previous works have been set-up for where the real fun is – Combinatorics. In one of my own columns, I say “Never trust the brute-force power of a computer network to do the job of a combinatorialist.” In 1967, John P. Robinson and Arthur J. Bernstein published an optimal Golomb ruler with 24 marks (OGR24). Their solution was confirmed in 2004 by a massive distributed effort using tens of thousand of computer years.

    Knuth is attempting to discuss all the algorithms that will still be important 50 years from now. The amount of speed given using these algorithms is staggering.

    Some examples topics in the book:
    Page 222 – Algorithm S: Breadth-first synthesis of BDDs
    Page 293 – Balanced and Complementary Gray codes.
    Page 424 – Stirling numbers and set partitions.
    Page 449 – Generating binary trees

    Helpful mathematical illustrations feature prominently throughout the book, and pretty much every page is gorgeously formatted. Knuth developed TeX in part to produce beautiful books, and that is on display here.

    Many thoughtful questions are provided as an aid to learning these very useful techniques. The Answers section runs for 303 pages.

    It will take me months or years to digest most the information in this work, but I can’t imagine a better presentation for this difficult but lucratively useful material.

  13. Scott in LA

    Over 30 years, whew! I’m very pleased to be able to add this volume to the other three (I’ve had to replace volumes 1 and 3 because I wore out my first copies). And, I’m very glad I don’t have to complete a graduate course that would use this volume as a text, I’m not sure I’d have the stamina to make it though. Thank you, Dr. Knuth, for your guidance and challenges. They certainly made a significant difference in the success of my career. I’m sure that those of you who delve into this volume will be enlightened by it as well. I’m not qualified to technically critique or perhaps even understand a lot of the material in this book, but at least I’ll have the rest of my life to try. Now, doesn’t he still owe us one more?

  14. Allyn Rothman

    For anyone who has the first three volumes of “The Art of Computer Programming”, a review of the fourth is completely unnecessary. If you don’t yet own the first three, buy the whole set of four at a significant discount. More than half of the 900 pages is “Answers to Exercises”, whose coverage of the topic is encyclopedic. If you want to know what Dr. Knuth has been doing the last 30 years, here is the answer. What is amazing is that this volume, number 4A, is evidently a prelude for more to come.

  15. Alan Smithee

    This book is one of the hardest comp-sci books I’ve tried to go through. Like anything else in life, what you put into this book is what you get out of it. It can go a little over my head from time to time, but really, that’s a good thing. You’ll never learn to swim if you stand in the shallow end of the pool all your life.

  16. Love to Read

    Donald E. Knuth – I am your biggest fan and this is one of my favorite books on algorithms. Don’t be intimated by its size and the number of volumes – this is a life work of one of the most brilliant computer scientists of all times. Love this book, thank you Donald Knuth.

  17. Chris Knight

    It is impossible to overstate the importance of Knuth’s “algorithms” series. Every programmer needs to have access to these and needs to know how to look up algorithms in them and implement those algorithms in your language of choice. (And do give credit to Knuth in your comments.) If you don’t, you are not a programmer and certainly not a software engineer, and you will be condemned to reinvent wheel after wheel after wheel until you learn better.

  18. Luigi Morelli

    Ho acquistato i primi tre volumi nella loro seconda edizione, e li ho “consumati” studiandoli per applicare ciascun trucco ai miei progrgammi. Attendevo con ansia l’uscita del quarto volume in quanto, finalmente, vi appare una doppia citazione del lavoro eseguito dal sottoscritto con alcuni colleghi sull’alfametica.
    Detto questo, confermo una volta di piu’ la concretezza e l’utilita’ di questa serie: Donald Knuth rimane un faro nell’ambito della Teoria dei Numeri e del calcolo automatico, ed il prodotto recensito non si discosta minimamente dall’altissimo standard presentato e mantenuto sui volumi precedenti.

  19. Professor dot biz

    You might be wondering if the fascicle series is still worth getting, given the whole series has now been updated in a single text here: The Art of Computer Programming, Volume 4A: Combinatorial Algorithms, Part 1.

    The answer is: it depends on whether you have a specific area of combinatorics you’re interested in (example: Fascicle 0 is great for logic gates and hence circuit designers), or if you’re interested in the entire area of combinatorics and all 5 fascicles (0-4).

    All 5 are essentially covered in the 2011 book above, with some corrections and deletions. Don’t be fooled by the “part 1” because this series can be confusing. Go to Dr. Knuth’s website to see the entire map of current and planned volumes and editions, including this series in .pdf: just Google/Bing Knuth website art of programming and click on the dot cs dot faculty dot stanford link for the series.

    As you’ll see on the site, part 1 (if the Dr’s health holds out) has now been expanded with additional draft fascicles, especially in the essentially uncovered area of stochastic combinatorics. Probability wasn’t even applied to computational combinatorics yet in the 60’s, so this is not a flaw in Doc Knuth’s coverage! There is a 4B, 4C, 4D etc. planned, mostly expanding recursion, statistics and other new areas of combinatorics.

    Great self study intro to everything computational complexity, as combinatorics greatly pushes the “big O” computing envelope, and the talented Doc Knuth even weighs in on P/NP. Many examples given with mem counts that are up to date. Areas not covered include parallel and objective/constraint combos, such as linear programming, but there are tons of dedicated texts on those out there. Nothing comes close to Dr. Knuth’s approach, especially for self study, given the astonishing volume of problems and solutions included. In one form or another, must have for all programmers.

  20. Some what high

    This was a gift and the recipient loved it. It came in with excellent condition and arrived in time. BTW the recipient has a job related to the content of the book and hopefully this book had some positive effects.

  21. Some what high

    this was a gift and the recipient loved it. It came in with excellent condition and arrived in time. BTW the recipient has a job related to the content of the book and hopefully this book had some positive effects.

  22. Some what high

    This was a gift and the recipient loved it. It came in with excellent condition and arrived in time. BTW the recipient has a job related to the content of the book and hopefully this book had some positive effects.

  23. Uncle Steve

    A classic it remains. Worth the price and the time.

  24. Clyde LeBonz

    Knuth. What more is there to say? Bought the first edition of Volume 1 back in 1970 and have dived sporadically into his work ever since, whenever I needed a better sort or randomization algorithm.

    Just having Knuth on my bookshelf makes me feel a whole lot smarter.

  25. Josh Berry

    I can not make the claim that I have fully worked the exercises. Indeed, I have sadly barely touched them. However, I do feel like I learned something from this book every time I picked it up.

    The writing style remains much more approachable than you probably think it is. Specifically, even the heavy math sections are fun to read through as an interested programmer. Sure, it is intimidating in that I don’t think I fully followed the thought process on many sections on my first read through. However, coming back and trying multiple times usually left me feeling like I at least understood what was being discussed. Even if I’m not quite sure, yet, that I could have hit on some of these ideas myself.

    The section at the end on searching on secondary keys is a true delight. Just plain fun to consider the different tricks that can be done with data.

  26. Roger Zhong

    Great

  27. Aleksandar Simovic

    What can you say except that Knuth is amazing & the book along with its whole series is legendary in the world of computer science

  28. Liesbeth Rombouts

    It’s a pitty if you don’t buy (and read) this volume if you’ve volumes 1 – 3 on your bookshelf already.

  29. JimmyNap

    Donald Knuth is one of my favorite computer science authors. I hope that all of his published work remains available to the computer science community forever.

  30. Josh Berry

    SAT solvers are a topic that I naively covered in college, and then never returned to. As a course to learn how to build a SAT solver, this text provides a variety of methods that can be used for stretching programming muscles.

    More, though, the sections at the beginning showing what a SAT solver can be used for are particularly eye opening. In many ways, it paints SAT as a brute force hammer for solving problems. It is an interesting form of brute force that is widely applicable and can still be used, however. I’m looking forward to giving myself time to work on the LIFE transitions problem. (I may cheat and use Knuth’s version of SAT solvers posted on his website.)

    After that, it is interesting to see the empiricism that goes into analyzing the various algorithms developed. Most that have not read him believe Knuth to be focused on the theoretical limits of algorithms. One need only look at the chart on timings to see that this is not true.

    As in previous books, I confess most of the exercises are above my ability. Luckily, you are encouraged to read the answers and should not be put off by the challenge of the problems. Instead, it is the challenges that makes things fun.

  31. Filippo Costa

    Da molti considerata la “Bibbia” dell’algoritmica; chiunque voglia fare dell’informatica il suo lavoro dovrebbe leggere questo libro. Inoltre, se sarete sufficientemente attenti da scovare un errore nel testo, il buon Knuth vi ripagherà con un assegno di $ 2.56 che potrete esibire fieri a tutti i colleghi.

  32. Kunal4mhl

    A must read book for every programmer…hats off to Sir Donald Knuth.
    Delivery was in time and a good copy.

  33. Austin Customer

    A leader in his field. Written so concepts are easy to understand. Good reference tool.

  34. John

    Classic textbook and reference work. Don’t loan the books in this series, they don’t come back.

  35. Phred

    Now I have a lot to digest in the 30 years since I read the original 3

  36. GodelEscher

    The craftsmanship of this book is excellent, definitely the best quality book I have ever owned in terms of paper quality and printing. The first volume is also heavy on review material (the first 100 or so pages) and there’s about 200 pages of exercise answers and index. There is an enormous amount of historical information included in the book too with detailed accuracy of paper publications and authors full names.

    The official requirements in the preface is some basic familiarity with computer hardware, some basic programming experience so knowledge of loops, variable assignments, ect., and if you wish to understand the math sections “a knowledge of elementary calculus will suffice” but keep in mind Knuth’s idea of elementary is George Thomas’ Calculus, which is heavily proof centric and rigorous (only the early editions from 1950s-60s are, they removed the rigor in later versions). If you can get the 3d or 4th version it will be the best math book you’ve ever read. Calculus and Analytic Geometry, 4th Edition (Addison-Wesley Series in Mathematics)

    Knuth was such a fan of Thomas’ Calculus book that he chose to publish his own books with the same publisher, Addison-Wesley. Knuth also credits the book with helping him become a mathematician, because he worked through every problem set in the text which taught him how to solve problems, and he claimed he could later coast through his math classes because of learning this skill. Doing proofs and solving problems is a skill you just get better at by doing and being exposed to well written proofs such as the one’s Knuth has given in this book, so if you run into problems with TAOCP exercises just keep doing them, eventually you will get better. There’s many other math texts you could also use with this book which give you a crash course in proof writing, like “How to Think Like a Mathematician” by Kevin Houston but you will pick that up anyway if you do enough of the problems in this book. The mathematical preliminaries chapter of TAOCP are well written, you can definitely learn discrete math from them, and if you do the problems Knuth has written for the chapters you will be able to coast through much of the rest of the book like Knuth coasted through his classes, with exception to some grad level number theory in Volume 2 but all the exercises/problems are labeled in difficulty so you can estimate the time you will spend working on them.

    This version still contains MIXAL/MIX, instead of the more modern replacement Knuth wrote for it by releasing the MMIX fascicle. The fascicles are drop in replacements for the chapters. Dealing with 32/64bit, instead of nybbles that the original MIX architecture uses I found much easier to work with, if you want to do this volume in MMIXAL also consider getting “The MMIX Supplement” by Martin Ruckert which is a total rewrite of all exercises from MIXAL to MMIXAL though Knuth suggests you learn both, and the core material of the book is the same regardless of what architecture you do it in.

    This is optional, but to get exposure to assembly language programming, I read the book “Computer Systems: A Programmer’s Perspective, 3/E (CS:APP3e)” by Randal E. Bryant and David R. O’Hallaron. It gives a good enough introduction to how an assembly language and computer hardware works from a programmer’s view. There is also the book “Code” by Charles Petzold which will explain OPCODES (mainly used in MMIX fascicle), “Programming from the Ground Up” by Jonathan Bartlett, and “The Elements of Computing Systems” By Noam Nisan and Shimon Schocken which also has a free course for it called Nand2Tetris. Any of the those books can prep you for the assembly programming requirements Knuth suggests in the preface though some googling and wikipedia is technically all you would need if you had a basic programming background Knuth will explain the rest in this volume.

    The analysis in volume 1 goes way beyond what I did in undergrad university algorithm design classes. Knuth will also teach you almost every kind of List/Tree datastructure that exists and their mathematical properties (self-balancing Trees are in later volumes), Stacks, Queues, Arrays, and debugging with trace routines. All of this material is still relevant today as the fundamentals of computer science haven’t changed, with the exception of persistent functional data structures though having a solid knowledge of Lists/Tree structures and their analysis will help to learn those later. Knuth also has some good programming advice on how he handled writing large programs from scratch in the 1960s. There is also some material on garbage collecting on Lists at the end of this first volume which I found interesting on how it relates to SML/NJ or OCaml list GC performance. There is even some COBOL programming in this version used for a few examples.

    If you’re interested in fundamental computer science algorithms and their analysis you should definitely get this book, and if you want to read any other volumes of TAOCP you will need to get this book too since MIX is introduced here in vol 1.

  37. Joshua Davies

    I started reading this book immediately after I finished reading volume 1. I loved volume 1, and I feel the same way about this one, although this was actually a very different sort of book. For one thing, this book was way more mathematical than the first. The first half of volume 1 was all math and the last half was all programming. This book, instead, is almost all math and practically no programming. The author starts by covering random number generators – both implementing and testing them (bet you didn’t know that you can actually test the randomness of a random number generator, did you? Knuth can spend a hundred pages showing you a dozen different ways!) This takes up about half the book (chapter 3), and then he moves on to discussing the implementation of arithmetic in computers. Again, you might think that this is worth maybe a dozen pages, but not for Knuth – he spends over two hundred pages discussing more tips and tricks for speeding up arithmetic than I would have guessed existed.

    I attempted every single exercise in volume 1 and went into this one with the same intent. I got pretty close to at least trying each exercise; the last three sections, which covered exponents, polynomial evaluation and power series, went so deep that I ended up glossing over about half of the exercises in each section (the section on polynomial evaluation has over 70 exercises on its own). The exercises in this book were almost all more difficult, and more mathematically sophisticated, than volume 1 – I wouldn’t have believed that was possible, but every time you think you’ve gone as deep as you can possibly go, Knuth shows you that you’re just at the tip of the iceberg. I can’t say I solved exercise, but I did at least try almost all of them – don’t judge me until you try it yourself!

    I did love this book, and enjoyed reading it, but I do think that this is one that a practicing programmer outside of very specific domains can probably safely skip – as fascinating as the topics are, and even after taking into consideration that this is not only the authoritative reference but in many cases the only printed material on some subjects – random number generation and lightning-fast (arbitrary precision) arithmetic aren’t topics that most programmers have to deal with too often. Still, if you have the time, it is a really fun book to work through.

  38. A. Strauss

    As always, this is a milestone work. I’m still waiting for fascicle 5, which must be extremely complex to put together, since this already complex fascicle 6 has been released already.

  39. drummer

    クニュースの本は翻訳だけでなく、新しく出版されており、それがこの別冊の一つである。
    とくにsatを取り上げていて、その教科書として購入した。

  40. Sensor2

    This book will wake up the computer scientist in you!!

  41. umn

    This book includes a lot of mathematical proofs and analyses of different sorting and searching algorithms. Good!

  42. thierry picard

    TRES RICHE VERSION PRO

  43. Ananda Kotelawela

    I am very happy

  44. Claire Jones

    Algorithms are stupendous

  45. Mark E.

    Really glad to see this new material.

  46. Kate Jones

    This book or manual by Donald Knuth is THE authoritative historical coverage of the esoteric subject of computer programming. Deep math and entertaining storytelling combine thorough research with innovative success. You may need some technical background to get the most out of this subject, but it doesn’t get any better than from the pioneer himself.

  47. Luigi

    Volume in ottime condizioni. Recapitato nei tempi previsti.

  48. Antonio M.

    Knuth nunca me ha defraudado y siempre ha escrito libros con una calidad, cuidado y perfección excepcionales… este libro es una verdadera joya…

  49. Ian Marteens

    Reading Donald Erwin Knuth is always a pleasure!

  50. Mark W.

    Always good to read this series, though it’s really hard to understand sometimes. 🙂 But still worth to own it.

  51. Michael Vose

    Knuth yet again delivers informative and relevant material

  52. sunflower

    Bought as Christmas gift.

  53. David Evans

    A decent continuation of Knuth’s classic work, this goes into a sufficient level of depth that suits master and apprentice equally well.

  54. Scott D. Miller

    Or if this is a later date and 4B is already out, buy that instead.

  55. Victor

    bora ver se consigo entender em 10 anos

  56. Victor

    bom

  57. T.D.

    Basically it examines the SAT with plenty of examples and all the algorithms that solve it. If you’re a developer or math major, or simply interested in logic programming (e.g. AI, planning), the book is an awesome weekend read. With respect to the rest of the books in the series, if you’re looking at the other volumes, I’d recommend start with this one, although the combinatorics volume also looks interesting (I don’t have the other books, just browsed through the contents).

  58. DR ANDREAS GRUBE

    OK

  59. Saul

    If you’re familiar with The Art of Computer Programming, there’s nothing left to say. If you are not, you might want to look at it online or in a library before purchasing this book. If you are a programmer, this is more like a math book than a programming book. You won’t find ready-made code.

    This fascicle is all about the exact cover problem and a variant called exact covering with colors. About one third of the book is text; the rest consists of problems and indications of how to solve them. The writing is generally very clear, but at times a bit terse and difficult to follow.

    Enough interesting programming problems to last me the rest of my life!

  60. Tres Parcelas SA

    great college memories

  61. Guitar hopeful

    What can I say? This book is a classic, but be ready to test your math skills.

  62. Steve Williams

    This has weathered the march of time in a fast-moving field astonishingly well.

  63. Yvonne

    Highly recommended, great book, as per description and more, great value for your money, highly recommended, great delivery/ service

Add a review
X

New item(s) have been added to your cart.

Mindset Mathematic (9 books) Original price was: $275,99.Current price is: $74,99.
Quantum Computing: A Primer Course and Its Applications in Machine Learning Original price was: $1.119,99.Current price is: $74,99.
Advanced Thinking Skills (4 book series) Original price was: $165,95.Current price is: $40,00.
Math Illuminated: A Visual Guide to Calculus and Its Applications (4 book series) Original price was: $164,99.Current price is: $40,00.
The Great Mental Models (4 book series) Original price was: $135,00.Current price is: $39,95.
Learn Physics with Calculus Step-by-Step (3 book series) Original price was: $159,95.Current price is: $30,00.
The Robert C. Martin Clean Code Collection (Collection) (Robert C. Martin Series) Original price was: $66,79.Current price is: $27,95.
Comprehensive Discrete Mathematics for Computer Science and Mathematics Students Original price was: $174,99.Current price is: $25,00.
Python for Mathematical Foundations: Linear Algebra, Calculus, Trigonometry, and Beyond Original price was: $174,99.Current price is: $25,00.
GCSE Mathematics: Essential Foundations Original price was: $69,99.Current price is: $25,00.
Calculus of Variations: A Primer on the First Variation Original price was: $129,99.Current price is: $25,00.
Mastering Mathematical Foundations: A Comprehensive Guide with 510+ Practice Problems Original price was: $129,99.Current price is: $25,00.
Master Mental Math: Unlock Your Mental Calculation Power with Vedic Techniques Original price was: $119,99.Current price is: $25,00.
Geometric Algebra: A Comprehensive and Illuminating Guide Original price was: $129,99.Current price is: $25,00.
College Algebra: A Guided Exploration Original price was: $149,99.Current price is: $25,00.
Python Animation for Engineers: A Visual Toolkit for Data and Systems Original price was: $199,95.Current price is: $25,00.
Stata Tips, Fourth Edition, Volumes I and II Original price was: $79,99.Current price is: $24,95.
The Long-Form Math Textbook Series (2 books) Original price was: $92,95.Current price is: $24,91.
The Art of Game Design: A Book of Lenses, Third Edition Original price was: $112,00.Current price is: $20,00.
The Colossal Book of Mathematics: Classic Puzzles, Paradoxes, and Problems Original price was: $40,99.Current price is: $20,00.
C Programming Language Original price was: $99,00.Current price is: $20,00.
Code: The Hidden Language of Computer Hardware and Software Original price was: $64,99.Current price is: $20,00.
Contemporary Mathematics for Business & Consumers, 9th (MindTap Course List) Original price was: $289,99.Current price is: $19,99.
Visual Complex Analysis: 25th Anniversary Edition Original price was: $118,95.Current price is: $19,99.
Calculus: An Intuitive and Physical Approach (Second Edition) (Dover Books on Mathematics) Original price was: $49,95.Current price is: $19,99.
Algebra and Trigonometry Original price was: $347,99.Current price is: $19,99.
Thomas' Calculus: Early Transcendentals 15th Edition Original price was: $241,99.Current price is: $19,99.
Topology: A Categorical Approach Original price was: $39,99.Current price is: $19,99.
Discovering Statistics Using IBM SPSS Statistics: North American Edition Original price was: $239,99.Current price is: $19,99.
C++ Primer (5th Edition) Original price was: $69,99.Current price is: $19,99.
Graph Theory and Additive Combinatorics: Exploring Structure and Randomness Original price was: $69,99.Current price is: $19,99.
Mathematics for Machine Technology Original price was: $208,99.Current price is: $19,99.
Probability and Statistics for Economists Original price was: $70,00.Current price is: $19,99.
The Art of Electronics: The x Chapters Original price was: $69,99.Current price is: $19,99.
UPDATED Version of The Practice of Statistics Original price was: $219,99.Current price is: $19,99.
The College Panda's SAT Math: Advanced Guide and Workbook Original price was: $32,99.Current price is: $19,99.
Numerical Python: Scientific Computing and Data Science Applications with Numpy, SciPy and Matplotlib Original price was: $69,99.Current price is: $19,99.
Math Refresher for Adults: The Perfect Solution (Mastering Essential Math Skills) Original price was: $39,99.Current price is: $19,99.
Trigonometry 8th Edition Original price was: $347,99.Current price is: $19,99.
An Introduction to Statistical Learning: with Applications in R (Springer Texts in Statistics) Original price was: $99,99.Current price is: $19,99.
Elementary Geometry for College Students Original price was: $313,99.Current price is: $19,99.
Math for Electricity & Electronics Original price was: $117,19.Current price is: $19,99.
Math with Bad Drawings: Illuminating the Ideas That Shape Our Reality Original price was: $30,00.Current price is: $19,99.
Calculus: Early Transcendentals 3rd Edition Original price was: $313,99.Current price is: $19,99.
Pre-calculus, Calculus, and Beyond Original price was: $50,00.Current price is: $19,99.
Trigonometry 11th Edition Original price was: $289,95.Current price is: $19,99.