The Art of Computer Programming, Volume 1: Fundamental Algorithms
by Donald E. Knuth
The Art of Computer Programming (1)
On This Page
Description
&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 show more 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. Ebook (PDF version) produced by Mathematical Sciences Publishers (MSP), http://msp.org show lessTags
Recommendations
Member Reviews
If you program and you don't know this book, and its companion volumes 2 and 3, it's like saying you live in San Francisco and haven't seen the Golden Gate Bridge. The books are really much more valuable to someone with a knowledge of calculus, and some discrete mathematics. If you are looking for programming cookbooks, don't go here, but if you want to know why binary trees, stacks and queues are used, and who thought of their use first, and their history of development, then read these books.
The above is, of course, a gross simplification. You will also learn how to properly analyze an algorithm - how to design algorithms to compute arithmetic results to achieve the minimum amount of error, how to design a proper random number show more generator - how to choose the right datastructure for search operations, etc.. More to the point, you will gain the skills to answer such questions on your own.
And most of all, you will see, once again, that the very brightest people are humble and have a sense of humor. The places where this book made me laugh out loud are too numerous to count. show less
The above is, of course, a gross simplification. You will also learn how to properly analyze an algorithm - how to design algorithms to compute arithmetic results to achieve the minimum amount of error, how to design a proper random number show more generator - how to choose the right datastructure for search operations, etc.. More to the point, you will gain the skills to answer such questions on your own.
And most of all, you will see, once again, that the very brightest people are humble and have a sense of humor. The places where this book made me laugh out loud are too numerous to count. show less
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.
This was a very useful book when I was new to programming as a career, and needed deeper understanding of what was meant by a well-constructed program.
A classic and a gem.
There aren't enough stars to rate this. My only regret (and it's a minor one) is that I don't have my old copies, which I gave to a friend when I bought the new and updated ones. The old ones fell open at certain pages, and this volume (and its two companions are new), and will never see the use of the others.
I see that there's a Volume 4A, but I'm not really sure that it makes sense for me to get it, at this stage in life.
Donald Knuth is one of my heroes.
I see that there's a Volume 4A, but I'm not really sure that it makes sense for me to get it, at this stage in life.
Donald Knuth is one of my heroes.
Indeholder "Preface", "Preface to the Second Edition", "Procedure for Reading This Set of Books", "Notes on the Exercises", "Chapter 1. Basic Concepts", " 1.1. Algorithms", " 1.2. Mathematical Preliminaries", " 1.2.1. Mathematical Induction", " 1.2.2. Numbers, Powers, and Logarithms", " 1.2.3. Sums and Products", " 1.2.4. Integer Functions and Elementary Number Theory", " 1.2.5. Permutations and Factorials", " 1.2.6. Binomial Coefficients", " 1.2.7. Harmonic Numbers", " 1.2.8. Fibonacci Numbers", " 1.2.9. Generating Functions", " 1.2.10. Analysis of an Algorithm", " 1.2.11* Asymptotic Representations", " 1.2.11.1* The O-notation", " 1.2.11.2* Euler's summation formula", " 1.2.11.3* Some asymptotic calculations", " 1.3. MIX", " 1.3.1. show more Description of MIX", " 1.3.2. The MIX Assembly Language", " 1.3.3. Applications to Permutations", " 1.4. Some Fundamental Programming Techniques", " 1.4.1. Subroutines", " 1.4.2. Coroutines", " 1.4.3. Interpretive Routines", " 1.4.3.1. A MIX simulator", " 1.4.3.2* Trace routines", " 1.4.4. Input and Output", " 1.4.5. History and Bibliography", "Chapter 2 Information Structures", " 2.1. Introduction", " 2.2. Linear Lists", " 2.2.1. Stacks, Queues, and Deques", " 2.2.2. Sequential Allocation", " 2.2.3. Linked Allocation", " 2.2.4. Circular Lists", " 2.2.5. Doubly Linked Lists", " 2 2.6. Arrays and Orthogonal Lists", " 2.3. Trees", " 2.3.1. Traversing Binary Trees", " 2.3.2. Binary Tree Representation of Trees", " 2.3.3. Other Representations of Trees", " 2.3.4. Basic Mathematical Properties of Trees", " 2.3.4.1. Free trees", " 2.3.4.2. Oriented trees", " 2.3.4.3* The "infinity lemma"", " 2.3.4.4* Enumeration of trees", " 2.3.4.5. Path length", " 2.3.4.6* History and bibliography", " 2.3.5. Lists and Garbage Collection", " 2.4. Multilinked Structures", " 2.5. Dynamic Storage Allocation", " 2.6. History and Bibliography", "Answers to Exercises", "Appendix A. Index to Notations", "Appendix B. Tables of Numerical Quantities", " 1. Fundamental Constants (decimal)", " 2. Fundamental Constants (octal)", " 3. Harmonic Numbers, Bernoulli Numbers, Fibonacci Numbers", "Index and Glossary".
En total klassiker indenfor datalogi. Knuth viser vejen og vejen er ikke altid let, men det er Vejen! show less
En total klassiker indenfor datalogi. Knuth viser vejen og vejen er ikke altid let, men det er Vejen! show less
Nov 8, 2016Danish
Members
- Recently Added By
Lists
Well-Made Math Books
11 works; 2 members
Author Information

81 Works 9,647 Members
Donald E. Knuth is known throughout the world for his pioneering work on algorithms and programming techniques, for his invention of the TEX and METAFONT systems for computer typesetting, and for his prolific and influential writing. Professor Emeritus of The Art of Computer Programming at Stanford University, he currently devotes full time to the show more completion of these fascicles and the seven volumes to which they belong. show less
Series
Belongs to Publisher Series
Common Knowledge
- Canonical title
- The Art of Computer Programming, Volume 1: Fundamental Algorithms
- Original publication date
- 1968
- Dedication
- This series of books is affectionately dedicated to the Type 650 computer once installed at Case Institute of Technology, in remembrance of many pleasant evenings
other comments
Classifications
- Genres
- Technology, Nonfiction, General Nonfiction
- DDC/MDS
- 005.1 — Computer science, information & general works Computer science, knowledge & systems Artificial Intelligence/Virtual Reality Software development
- LCC
- QA76.6 .K64 — Science Mathematics Mathematics Instruments and machines Calculating machines Electronic computers. Computer science
- BISAC
Statistics
- Members
- 1,705
- Popularity
- 12,977
- Reviews
- 7
- Rating
- (4.49)
- Languages
- 7 — English, French, German, Hungarian, Japanese, Russian, Spanish
- Media
- Paper, Ebook
- ISBNs
- 21
- UPCs
- 1
- ASINs
- 13



















































