The Art of Computer Programming

The Art of Computer Programming adalah buku yang ditulis oleh Donald Knuth mengenai berbagai algoritme dan analisis pemrograman komputer. Knuth mulai menulis buku ini pada 1962. Tiga volume pertama diterbitkan pada 1968, 1969, dan 1973. Volume 4 rencananya akan diterbitkan pada awal 2007.

Knuth dianggap sebagai pakar dalam bidang compiler. Pada saat menulis buku ini ia membutuhkan perangkat lunak untuk typesetting dan kemudian mengembangkannya sendiri dan memberinya nama TeX.

Semua contoh program dalam buku ini ditulis dalam "MIX assembly language" yang ditulisnya sendiri. Pada saat ini komputer MIX telah digantikan oleh MMIX, yaitu versi RISC. Beberapa perangkat lunak MIX emulator tersedia, misalnya GNU MDK.

Knuth menawarkan $2.56 ("one hexadecimal dollar") untuk setiap kesalahan yang ditemukan pembacanya. Kesalahan-kesalahan ini diperbaiki dalam edisi-edisi berikutnya dan menjadikan buku ini tetap aktual dan sangat lengkap.

American Scientist memasukkan buku ini dalam 12 karya ilmu terbaik dalam abad XX. Bill Gates mengatakan "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."

Chapter outline 
 Volume 1 - Fundamental Algorithms
 Chapter 1 - Basic concepts
 Chapter 2 - Information structures
 Volume 2 - Seminumerical Algorithms
 Chapter 3 - Random numbers
 Chapter 4 - Arithmetic
 Volume 3 - Sorting and Searching
 Chapter 5 - Sorting
 Chapter 6 - Searching
 Volume 4 - Combinatorial Algorithms, in preparation (three fascicles have been published as of February 2006, and alpha-test versions of additional fascicles are downloadable from Knuth's page below).
 Volume 4A, Enumeration and Backtracking
 Chapter 7 - Combinatorial searching
 Volume 4B, Graph and Network Algorithms
 Chapter 7 continued
 Volume 4C and possibly 4D, Optimization and Recursion
 Chapter 7 continued
 Chapter 8 - Recursion
 Volume 5 - Syntactic Algorithms, planned (as of August 2006, estimated in 2015).
 Chapter 9 - Lexical scanning
 Chapter 10 - Parsing techniques
 Volume 6 - Theory of Context-Free Languages, planned.
 Volume 7 - Compiler Techniques, planned.

Outline of Volume 4A Enumeration and Backtracking 
 7. - Introduction
 7.1 - Zeros and ones
 7.1.1 - Boolean basics (83 pp)
 7.1.2 - Boolean evaluation (62 pp)
 7.1.3 - Bitwise tricks and techniques
 7.1.4 - Representation of Boolean functions
 7.2 - Generating all possibilities
 7.2.1 - Combinatorial generators (397 pp)
 7.2.1.1 - Generating all n-tuples - published in Volume 4, Fascicle 2
 7.2.1.2 - Generating all permutations - published in Volume 4, Fascicle 2
 7.2.1.3 - Generating all combinations - published in Volume 4, Fascicle 3
 7.2.1.4 - Generating all partitions - published in Volume 4, Fascicle 3
 7.2.1.5 - Generating all set partitions - published in Volume 4, Fascicle 3
 7.2.1.6 - Generating all trees - published in Volume 4, Fascicle 4
 7.2.1.7 - History and further references - published in Volume 4, Fascicle 4
 7.2.2 - Basic backtrack
 7.2.3 - Efficient backtracking
 7.3 - Shortest paths

Edisi bahasa Inggris

Edisi terbaru 
Diurutkan sesuai nomor volume:
 Volume 1: Fundamental Algorithms. Third Edition (Reading, Massachusetts: Addison-Wesley, 1997), xx+650pp. ISBN 0-201-89683-4
 Volume 1, Fascicle 1: MMIX -- A RISC Computer for the New Millennium. (Addison-Wesley, February 14, 2005) ISBN 0-201-85392-2 (will be in the fourth edition of volume 1)
 Volume 2: Seminumerical Algorithms. Third Edition (Reading, Massachusetts: Addison-Wesley, 1997), xiv+762pp. ISBN 0-201-89684-2
 Volume 3: Sorting and Searching. Second Edition (Reading, Massachusetts: Addison-Wesley, 1998), xiv+780pp.+foldout. ISBN 0-201-89685-0
 Volume 4, Fascicle 0: Boolean basics (partial preview available, publication planned in early 2007)
 Volume 4, Fascicle 2: Generating All Tuples and Permutations, (Addison-Wesley, February 14, 2005) v+127pp, ISBN 0-201-85393-0
 Volume 4, Fascicle 3: Generating All Combinations and Partitions. (Addison-Wesley, July 26, 2005) vi+150pp, ISBN 0-201-85394-9
 Volume 4, Fascicle 4: Generating all Trees -- History of Combinatorial Generation, (Addison-Wesley, February 6, 2006) vi+120pp, ISBN 0-321-33570-8

Edisi sebelumnya 
Diurutkan sesuai tanggal penerbitan:
 Volume 1, first edition, 1968. 634pp, ISBN 0-201-03801-3.
 Volume 2, first edition, 1969, xi+624pp, ISBN 0-201-03802-1.
 Volume 3, first edition, 1973, xi+723pp+centerfold, ISBN 0-201-03800-X.
 Volume 1, second edition, 1973, xiii+634pp, ISBN 0-201-03809-9.
 Volume 2, second edition, 1981, xiii+ 688pp. ISBN 0-201-03822-6.

Buku komputer
Seri buku