Goodreads helps you keep track of books you want to read.
Start by marking “The Art of Computer Programming, Volume 1: Fundamental Algorithms” as Want to Read:
The Art of Computer Programming, Volume 1: Fundamental Algorithms
Enlarge cover
Rate this book
Clear rating
Open Preview

The Art of Computer Programming, Volume 1: Fundamental Algorithms

(Art of Computer Programming)

4.37  ·  Rating details ·  1,727 ratings  ·  44 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 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 wh ...more
Hardcover, Third Edition, 672 pages
Published July 7th 1997 by Addison-Wesley (first published January 1st 1973)
More Details... Edit Details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about The Art of Computer Programming, Volume 1, please sign up.
Popular Answered Questions
David I'll take a stab at this: I think TAoCP is difficult only because it might be hard to see the forest for the trees - or rather for the pretty pattern …moreI'll take a stab at this: I think TAoCP is difficult only because it might be hard to see the forest for the trees - or rather for the pretty pattern of the bark of one of the trees.(less)

Community Reviews

Showing 1-30
Average rating 4.37  · 
Rating details
 ·  1,727 ratings  ·  44 reviews

More filters
Sort order
Start your review of The Art of Computer Programming, Volume 1: Fundamental Algorithms
Mar 20, 2012 rated it liked it
At first, I enjoyed this dense and scholarly volume. Knuth's dry humor is peppered throughout the book, but pops up most frequently in the first few chapters. It seemed at odds with the negative (and adoring) opinions I'd read about the book.

I was told (by Knuth in his introduction) that I could skip as much of the math as I liked. So I dutifully skimmed through the math chapter and continued.

Then I hit MIX. It's the theoretical computer to which all of the program examples in the book will be w
Mar 30, 2007 rated it it was amazing
oh, who am i kidding? i have never read this straight through, but i think i've covered a lot of it over the course of 8 years as an engineer. if i was stranded on a desert island with enough food and water to last the rest of my life, this series of books is what i would take with me. there are so many puzzles in these books that it could keep you occupied for a lifetime. i don't know how one man wrote these books.
Nov 25, 2010 is currently reading it
I really cant understand how one could write code without reading these books.
Warren Mcpherson
This book outlines the design of computers and shows how many of the challenges of programming development have been addressed. It is a great and foundational computer science book. Today, understanding the operation of the processor is less critical and the way data structures are used has somewhat evolved. The math and assembly programs gave critical insight into practice and optimization at one time, however are less relevant now. Programmers who read it will still love this book.
It was a nic
Michal Paszkiewicz
Apr 08, 2016 rated it it was amazing
An excellent learning resource for anyone with an interest in computers or mathematics. Not exactly a light read, but it provides a great set of tools that can be applied to many situations. The problem sets were concise, interesting and a far better substitute to doing sudokus on the morning commute.

I tried to work through all the problems rated 25 or less, while glancing at the more complex/time consuming ones, but I sometimes lacked the skills to complete a problem. I would like to revisit t
Gregory Blake
Jan 11, 2016 rated it really liked it
Donald E. Knuth's The Art of Computer Programming provides a detailed textbook for classical Computer Science, starting with the foundational mathematics and working through (in this volume) data structures such as Linked Lists, Trees, and Graphs.

While authoritative and enjoyable to read, I personally felt unprepared (even with advance warning) for the sheer volume of mathematics in Chapter 1, and spent the first 120 pages reeling from notations that I hadn't read before. After the "Introductory
Antti Karanta
This book was somewhat of a mixed blessing. I really enjoyed the mathematical exactness and thoroughness. However, I did not at all like the decision to have the sample code in a made-up assembly language. That made the programs utterly unreadable. Maybe I'm just not HC geek enough, but IMO when the point is to present algorithms, the sample code should be clear and easy to read. Using a higher level language would have been more appropriate.

Also, it would have been nice to have had flow graphs
Dec 26, 2015 rated it it was amazing
It is one of the best books which makes me love Computer Science. It is simple and fascinating, and every chapter marks a new milestone...
Magnus Struckmann
Aug 28, 2020 rated it it was amazing
The parts I understood were really insightful. Unfortunately I didn’t invest enough time and efforts to fully understand all concepts and examples.
Mikael Onsjö
Although well written and thorough with some delicious humor, this did not meet up to my expectations. I did learn a few things about this and that (not the least tree traversals) but much space was wasted on superfluous detail. For instance I did not care squat for the MIX assembly language code examples that took up page after page. Personally I'm very interested in math, but there was also a disconnect between the chapters on background theory and the later ones on algorithms.
Jul 21, 2019 rated it really liked it  ·  review of another edition
Knuth wrote this book for people who already know almost everything it tries to teach you. Sections move from easy to understand to immensely complex in a sentence or two. Finishing it is more of a badge of honor than an actual learning experience. Combine the fast pace with the outdated MIX computer, and the relevancy of this book to modern programmers is minimal. I still did learn some cool things, but it could have been a lot better.
Jul 03, 2013 rated it it was amazing
Amazing monograph on computer science, very didactically written. With well-thought structure and great excercises, it is perfectly suitable as a textbook for two full courses, as well as a textbook for independent study. The excercises themselves, especially from the first chapter, provide great entertainment for the so inclined reader, in many areas of mathematics.
Jun 02, 2020 rated it really liked it
Still great, but in dire need of a 4th edition update; new readers should strongly consider getting the MMIX supplements.

Flipped through the math section, but read the rest of the book page by page. Well, except for the proofs and exercises (only did a handful of them mentally).

Picked up the books again with the aim to read volume 4 and its fascicles. We'll see.
Ian Carmichael
Apr 08, 2012 rated it really liked it
More elegant science writing - one of the deep, foundational thinkers in Computer Science. Packed with insight, rigour, and interesting mathematical puzzles (I love mathematics, but usually I find mathematical puzzles very uninteresting.)
And a ditto goes to Volumes 2 and 3.
Mar 03, 2014 rated it it was amazing  ·  review of another edition
Reading this book once is not enough. It's an amazing piece that everyone should read, or at least skim through. There are so great tips and insights I've never seen elsewhere, and reading the whole thing just opens up your mind to a lot of things.
Jun 17, 2018 rated it it was amazing
This is a fantastic piece of literature for computer science. It is however, not an introductory book, so the reader must know quite a lot of mathematics and abstract computer programming to get the most out of this book. Even though it is quite old, it is still relevant in many ways.
Feb 22, 2007 is currently reading it
Recommends it for: programmers
He's crazy. He's brilliant.
If you are a programmer - read it.
Kevin Watkins
Feb 10, 2013 rated it liked it
Obviously a classic but a really hard read due to everything being written in MIX - would much prefer pseudo-code.
Oleg Shmykov
Oct 08, 2015 rated it it was ok
It is definitely expanding your horizons but if you skip the math and MIX there is not too much of useful information after all. Unfortunately this book was too hard to read and follow.
Darrell Ulm
Essential reading for study of algorithms.
Nov 08, 2018 rated it it was amazing
Quite incredible. Took me a very long time to finish, but was absolutely worth it. Truly the gold standard for algorithm analysis.
Robert Fishell
May 26, 2019 rated it it was amazing
The foundation of modern computer science distilled into a single volume. The Knuth books are essential references for anyone serious about the field.
Apr 16, 2019 rated it it was amazing
A classic and a gem.
Dec 04, 2018 rated it it was amazing
the art is fantastic i nedd art in my life
Sven Meys
Aug 08, 2012 rated it really liked it
Shelves: programming
It's a nice refresher for some essential math skills. Besides that it contains good info basic data structures. Too much detail for me personally.
But when a problem arises that requires such detail, I will have the solution right there on my bookshelf. :)

On to volume two! Yay!
Sep 06, 2015 added it
Shelves: did-not-finish
I thought this would be more informative and instructive from a beginners, or at least intermediate point of understanding, but it was like trying to read med papers if you haven't gone to med school.
TK Keanini
Apr 07, 2007 rated it liked it
Recommends it for: software developers
Very helpful book but I personally don't care for the style of the book.
Arun Rajappa
Dec 18, 2007 rated it it was amazing
Difficult, instructive, intelligent, amusing and brain-numbing - all rolled-in-to-one in this classic of CS. Buy it, read a page at a sitting and savor it - this is a book read over 5 years.
Feb 29, 2008 rated it did not like it
very interesting book for beginner.Basic algorithm technique had been learned.
Mar 29, 2008 added it
Working through this book with a friend from the lab. Should be fun!
« previous 1 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • Introduction to Algorithms
  • The C Programming Language
  • The C++ Programming Language
  • Effective Java
  • Computer Networks
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)
  • Artificial Intelligence: A Modern Approach
  • Compilers: Principles, Techniques, and Tools
  • The Little Schemer
  • Concrete Mathematics: A Foundation for Computer Science
  • Modern Operating Systems
  • Algorithms
  • Code Complete
  • Operating System Concepts
  • The UNIX Programming Environment
  • Code: The Hidden Language of Computer Hardware and Software
  • The Practice of Programming (Addison-Wesley Professional Computing Series)
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
Donald Ervin Knuth, born January 10th 1938, is a renowned computer scientist and Professor Emeritus of the Art of Computer Programming at Stanford University.

Author of the seminal multi-volume work The Art of Computer Programming ("TAOCP"), Knuth has been called the "father" of the analysis of algorithms, contributing to the development of, and systematizing formal mathematical techniques for, the

Other books in the series

Art of Computer Programming (1 - 10 of 15 books)
  • The Art of Computer Programming, Volume 2: Seminumerical Algorithms
  • The Art of Computer Programming: Volume 3: Sorting and Searching
  • The Art of Computer Programming, Volumes 1-3 Boxed Set
  • Introduction To Combinatorial Algorithms And Boolean Functions
  • The Art of Computer Programming, Volume 4, Fascicle 0: Introduction to Combinatorial Algorithms and Boolean Functions
  • The Art of Computer Programming, Volume 4, Fascicle 1: Bitwise Tricks & Techniques; Binary Decision Diagrams
  • The Art of Computer Programming, Volume 4, Fascicle 2: Generating All Tuples and Permutations
  • The Art of Computer Programming, Volume 4, Fascicle 3: Generating All Combinations and Partitions
  • The Art of Computer Programming, Volume 4, Fascicle 4: Generating All Trees--History of Combinatorial Generation
  • Generating All Trees History Of Combinatorial Generation

Related Articles

San Francisco is a gold rush town. There aren’t many books about people in their 20s who move to Silicon Valley with dreams of earning a living...
34 likes · 2 comments
“Premature optimization is the root of all evil.” 19 likes
More quotes…