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
  • Volume 3 - Sorting and 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:

Edisi sebelumnya

Diurutkan sesuai tanggal penerbitan:

Kembali kehalaman sebelumnya