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,663 ratings  ·  43 reviews
The first revision of this third volume is the most comprehensivesurvey of classical computer techniques for sorting and searching. It extends thetreatment of data structures in Volume 1 to consider both large and smalldatabases and internal and external memories. The book contains a selection ofcarefully checked computer methods, with a quantitative analysis of theireffic ...more
Hardcover, Third Edition, 672 pages
Published July 17th 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
Robert Fishell This is essential reading for anyone who wants to understand the foundations of computer science. This book was used as the textbook for one of my…moreThis is essential reading for anyone who wants to understand the foundations of computer science. This book was used as the textbook for one of my introductory computer science classes, so it would fit into the curriculum of anyone majoring in computer science. This doesn't teach you how to program - there are no examples in specific programming languages. Rather, it teaches you what algorithms are, and algorithms are to programming what bricks and boards are to construction.

Yes, you can skip around in the book if you want to know how one thing or another is done. You should have good mathematical reasoning skills, but you don't need much in the way of advanced mathematics to understand it. If you've taken precalculus math, that's enough.(less)

Community Reviews

Showing 1-30
Average rating 4.37  · 
Rating details
 ·  1,663 ratings  ·  43 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 exampl
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
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
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...
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 "
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
Sep 14, 2013 rated it it was amazing
Incredible resource for a self-taught programmer! I love the depth and precision of Knuth's mind and exposition.

MIX, while old in design, is more than sufficient and can easily be replaced by the enterprising user with a modern tool.

Doing all of the exercises is a tall order but I did do the majority of the "light" ones and a good number of the difficult problems.

I highly recommend Don's books.
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 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.
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.
Darrell Ulm
Dec 19, 2016 rated it it was amazing
Essential reading for study of 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.
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.
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.
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
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.
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!
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.
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.
May 11, 2010 added it
Shelves: manuals-01
Creating Web Pages for Dummies
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.
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.
Dwight Walker
Classic on algorithm design in computer science.
Richard Schave
the Art of Computer Programming, Volume 1: Fundamental Algorithms by Donald E. Knuth (1979)
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.
Antony Thomas
Oct 06, 2012 rated it it was amazing
Shelves: for-reference
Just reading the preface makes you want to rate a high 5. Given the challenging nature of this book, I think it will always be in my "Currently-reading" list
« previous 1 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • Introduction to Algorithms
  • Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)
  • The C Programming Language
  • Compilers: Principles, Techniques, and Tools
  • Artificial Intelligence: A Modern Approach
  • The C++ Programming Language
  • Introduction to the Theory of Computation
  • Concrete Mathematics: A Foundation for Computer Science
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • The Pragmatic Programmer: From Journeyman to Master
  • The Algorithm Design Manual
  • Effective C++: 55 Specific Ways to Improve Your Programs and Designs
  • Coders at Work: Reflections on the Craft of Programming
  • The Mythical Man-Month: Essays on Software Engineering
  • Modern Operating Systems
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • Algorithm Design
  • Algorithms
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, th

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
“Premature optimization is the root of all evil.” 18 likes
More quotes…