the art of computer programming adalah buku yang ditulis oleh donald knuth mengenai berbagai algoritma 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 "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."
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
diurutkan sesuai nomor volume:
volume 1: fundamental algorithms.
third edition (reading, massachusetts: addison-wesley, 1997), xx+650pp.
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.
volume 3: sorting and searching.
second edition (reading, massachusetts: addison-wesley, 1998), xiv+780pp.+foldout.
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
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.
art of computer programming, the