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.35  ·  Rating details ·  1,537 Ratings  ·  37 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.

Community Reviews

(showing 1-30)
Rating details
Sort: Default
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.
Warren Mcpherson
Feb 02, 2013 rated it liked it
Shelves: themachine
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
Nov 25, 2010 is currently reading it
I really cant understand how one could write code without reading these books.
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
Darrell Ulm
Dec 19, 2016 rated it it was amazing
Essential reading for study of algorithms.
Anubhav Balodhi
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...
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.
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
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.
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.
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.
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.
Sep 04, 2007 rated it it was amazing
Jangan berharap menemukan puisi di buku ini. Tahukah siapa penulisnya? Profesor di bidang Matematika. Buku ini lebih enak buat bantal daripada dibaca.

Gedubrak, isinya notasi matematika semua ..........
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.
Richard Schave
the Art of Computer Programming, Volume 1: Fundamental Algorithms by Donald E. Knuth (1979)
Bhagyaraj Amudha
Dec 06, 2016 is currently reading it
This review has been hidden because it contains spoilers. To view it, click here.
Dwight Walker
Classic on algorithm design in computer science.
May 11, 2010 added it
Shelves: manuals-01
Creating Web Pages for Dummies
Jun 22, 2012 rated it really liked it
Shelves: informatica
Chiaramente, il giudizio sui libri di informatica segue metri diversi da quelli sui romanzi... Nel suo genere, questo libro è un capolavoro inarrivabile.
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.
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.
Mar 29, 2008 added it
Working through this book with a friend from the lab. Should be fun!
Mohamed Hamdy
Dec 18, 2009 marked it as to-read
Start to read it !
Aug 25, 2012 rated it it was amazing
Shelves: reco-input
the history of computer science teaching
« previous 1 3 4 5 6 7 8 9 next »
There are no discussion topics on this book yet. Be the first to start one »
  • Compilers: Principles, Techniques, and Tools
  • The Practice of Programming (Addison-Wesley Professional Computing Series)
  • Concrete Mathematics: A Foundation for Computer Science
  • Hacker's Delight
  • Programming Pearls
  • Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)
  • Advanced Programming in the UNIX Environment
  • Applied Cryptography: Protocols, Algorithms, and Source Code in C
  • The Little Schemer
  • Concepts, Techniques, and Models of Computer Programming
  • Introduction to Algorithms
  • ANSI Common Lisp
  • The Art of UNIX Programming
  • The C++ Programming Language
  • Purely Functional Data Structures
  • C: A Reference Manual
  • A Discipline of Programming
  • Programming Perl

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
More about Donald Ervin Knuth

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.” 13 likes
More quotes…