กลับไปหน้าบทความ

อ่าน 10 นาที

ศิลปะแห่งการเขียนโปรแกรมคอมพิวเตอร์

The Art of Computer Programming ( TAOCP ) เป็น หนังสือวิชาการหลายเล่ม(เล่ม 1–7) ที่เขียนโดยนักวิทยาศาสตร์คอมพิวเตอร์ Donald Knuthซึ่งนำเสนอ อัลกอริทึม...

ศิลปะแห่งการเขียนโปรแกรมคอมพิวเตอร์

ศิลปะแห่งการเขียนโปรแกรมคอมพิวเตอร์
ศิลปะแห่งการเขียนโปรแกรมคอมพิวเตอร์ เล่ม 1: อัลกอริทึมพื้นฐาน
ผู้เขียนโดนัลด์ คนูธ
ภาษาภาษาอังกฤษ
ประเภทหนังสือวิชาการที่ไม่ใช่นิยาย
สำนักพิมพ์แอดดิสัน-เวสลีย์
วันที่เผยแพร่ปี 1968–ปัจจุบัน
สถานที่ตีพิมพ์สหรัฐอเมริกา
ประเภทสื่อฉบับพิมพ์ ( ปกแข็ง )
ISBN0-201-03801-3
ระบบดิวอี้519
คลาส LCQA76.75
เล่ม 1 ถึง 4B

The Art of Computer Programming ( TAOCP ) เป็น หนังสือวิชาการหลายเล่ม(เล่ม 1–7) ที่เขียนโดยนักวิทยาศาสตร์คอมพิวเตอร์ Donald Knuthซึ่งนำเสนอ อัลกอริทึม การเขียนโปรแกรมและการวิเคราะห์อัลกอริทึมเหล่านั้นณ ปี 2026 ประกอบด้วยเล่มที่ตีพิมพ์แล้ว 1, 2, 3, 4A และ 4B โดยคาดว่าจะมีการตีพิมพ์เล่มเพิ่มเติมในอนาคต เล่ม 1–5 มีจุดประสงค์เพื่อแสดงถึงแก่นหลักของการเขียนโปรแกรมคอมพิวเตอร์สำหรับเครื่องจักรแบบลำดับ ส่วนหัวข้อในเล่ม 6 และ 7 นั้นมีความสำคัญแต่มีความเฉพาะทางมากกว่า [ 1 ]

เมื่อ Knuth เริ่มโครงการในปี 1962 เดิมทีเขาตั้งใจจะให้เป็นหนังสือเล่มเดียวที่มี 12 บท สามเล่มแรกจากชุดที่คาดว่าจะมีทั้งหมด 7 เล่ม ได้รับการตีพิมพ์ในปี 1968, 1969 และ 1973 การทำงานอย่างจริงจังในเล่มที่ 4 เริ่มต้นในปี 1973 แต่ถูกระงับในปี 1977 เพื่อทำงานเกี่ยวกับการจัดพิมพ์ที่เกิดจากฉบับพิมพ์ครั้งที่สองของเล่มที่ 2 การเขียนต้นฉบับสุดท้ายของเล่ม 4A เริ่มต้นด้วยลายมือในปี 2001 และฉบับก่อนเล่มแรกทางออนไลน์ เล่ม 2A ปรากฏขึ้นในภายหลังในปี 2001 [ 2 ]เล่มที่ 4 ฉบับพิมพ์ครั้งแรกปรากฏในรูปแบบปกอ่อนในชื่อเล่มที่ 2 ในปี 2005 เล่ม 4A ฉบับปกแข็ง ซึ่งรวมเล่ม 4 เล่มที่ 0–4 ได้รับการตีพิมพ์ในปี 2011 เล่มที่ 4 เล่มที่ 6 (“Satisfiability”) ได้รับการเผยแพร่ในเดือนธันวาคม 2015 เล่มที่ 4 ตอนที่ 5 ("Mathematical Preliminaries Redux; Backtracking; Dancing Links") วางจำหน่ายในเดือนพฤศจิกายน 2019

เล่ม 4B ประกอบด้วยเนื้อหาที่พัฒนามาจากเล่ม 5 และ 6 [ 3 ]ต้นฉบับถูกส่งไปยังสำนักพิมพ์เมื่อวันที่ 1 สิงหาคม 2022 และเล่มนี้ได้รับการตีพิมพ์ในเดือนกันยายน 2022 [ 4 ]เล่ม 7 ("ความพึงพอใจภายใต้ข้อจำกัด") ซึ่งวางแผนไว้สำหรับเล่ม 4C เป็นหัวข้อของการบรรยายของ Knuth เมื่อวันที่ 3 สิงหาคม 2022 [ 5 ]และได้รับการตีพิมพ์เมื่อวันที่ 5 กุมภาพันธ์ 2025 [ 6 ]

ประวัติศาสตร์

โดนัลด์ คนูธ ในปี 2005

หลังจากได้รับ ทุนการศึกษา Westinghouse Talent Searchแล้ว Knuth ได้เข้าเรียนที่ Case Institute of Technology (ปัจจุบันคือCase Western Reserve University ) ซึ่งผลการเรียนของเขานั้นโดดเด่นมากจนคณะอาจารย์ลงมติมอบปริญญาโทวิทยาศาสตร์ ให้แก่เขา หลังจากสำเร็จการศึกษาระดับปริญญาตรีในช่วงปิดเทอมฤดูร้อน Knuth ได้รับการว่าจ้างจากBurroughs Corporationให้เขียนคอมไพเลอร์ โดยได้รับค่าตอบแทนในช่วงฤดูร้อนมากกว่าที่ศาสตราจารย์เต็มเวลาได้รับตลอดทั้งปี[ 7 ]ความสำเร็จดังกล่าวทำให้ Knuth กลายเป็นหัวข้อสนทนาในหมู่นักศึกษาภาควิชาคณิตศาสตร์ ซึ่งรวมถึงRichard S. Vargaด้วย

ในเดือนมกราคม พ.ศ. 2505 ขณะที่เขาเป็นนักศึกษาปริญญาโทในภาควิชาคณิตศาสตร์ที่ Caltech นั้น Knuth ได้รับการติดต่อจากAddison-Wesleyให้เขียนหนังสือเกี่ยวกับการออกแบบคอมไพเลอร์ และเขาได้เสนอขอบเขตที่กว้างขึ้น เขาคิดรายชื่อชื่อบทต่างๆ ได้ถึงสิบสองบทในวันเดียวกันนั้น ในช่วงฤดูร้อนของปี พ.ศ. 2505 เขาทำงานเกี่ยวกับคอม ไพเลอร์ FORTRANสำหรับUNIVACโดยคิดว่าเขาได้ "ขายวิญญาณให้กับปีศาจ" เพื่อพัฒนาคอมไพเลอร์ FORTRAN [ 8 ] : 15 หลังจาก การพัฒนา ALGOLร่วมกับ Burroughs เขาทำหน้าที่เป็นที่ปรึกษาให้กับ Burroughs ตลอดช่วงปี พ.ศ. 2503 ถึง พ.ศ. 2511 ในขณะที่เขียนเล่มที่ 1 "Fundamental Algorithms"

ในช่วงเวลานั้น เขายังได้พัฒนาการวิเคราะห์ทางคณิตศาสตร์ของการตรวจสอบเชิงเส้นซึ่งทำให้เขามั่นใจที่จะนำเสนอเนื้อหาด้วยวิธีการเชิงปริมาณ หลังจากได้รับปริญญาเอกในเดือนมิถุนายน พ.ศ. 2506 เขาเริ่มทำงานเขียนต้นฉบับ ซึ่งเขาได้เขียนฉบับร่างแรกเสร็จในเดือนมิถุนายน พ.ศ. 25083,000หน้าที่เขียนด้วยลายมือ[ 9 ]เขาคิดว่าประมาณห้าหน้าที่เขียนด้วยลายมือจะเทียบเท่ากับหนึ่งหน้าที่พิมพ์ แต่สำนักพิมพ์ของเขากลับบอกว่าประมาณ1+เอกสารที่เขียนด้วยลายมือ 1/2หน้า ถูกแปลงเป็นเอกสารที่พิมพ์แล้ว 1 หน้า ซึ่งหมายความว่าเขามีเอกสารที่เขียนด้วยลายมือประมาณ 1/2หน้าเอกสารที่พิมพ์แล้วมีจำนวน 2,000หน้า ซึ่งใกล้เคียงกับขนาดของหนังสือสามเล่มแรกที่ตีพิมพ์

เล่มแรกของ "ศิลปะแห่งการเขียนโปรแกรมคอมพิวเตอร์" ชื่อ "อัลกอริธึมพื้นฐาน" ใช้เวลาในการเขียนถึงห้าปี ระหว่างปี 1963 ถึง 1968 ขณะที่เขาทำงานอยู่ที่ทั้ง Caltech และ Burroughs

คำอุทิศของ Knuth ในเล่มที่ 1 มีดังนี้:

หนังสือชุดนี้อุทิศให้แก่คอมพิวเตอร์ Type 650ที่เคยติดตั้งอยู่ที่สถาบันเทคโนโลยีเคสเพื่อเป็นการระลึกถึงค่ำคืนอันแสนสุขมากมาย[ a ]

ในคำนำ เขาขอบคุณภรรยาของเขา จิลล์ ก่อน จากนั้นขอบคุณเบอร์โรห์สสำหรับการใช้คอมพิวเตอร์ B220 และ B5500 ในการทดสอบโปรแกรมส่วนใหญ่ และขอบคุณ Caltech, มูลนิธิวิทยาศาสตร์แห่งชาติ และสำนักงานวิจัยกองทัพเรือ[ 10 ] : xii

ส่วนที่ 2.5 ของ "อัลกอริทึมพื้นฐาน" เกี่ยวกับการจัดสรรพื้นที่จัดเก็บแบบไดนามิกบางส่วนของส่วนนี้ถูกนำไปใช้ในแนวทางการจัดการหน่วยความจำของ Burroughs Knuth อ้างว่าได้รับเครดิตสำหรับ: "วิธีการ 'boundary-tag' ที่แนะนำในส่วนที่ 2.5 ได้รับการออกแบบโดยผู้เขียนในปี 1962 เพื่อใช้ในโปรแกรมควบคุมสำหรับคอมพิวเตอร์ B5000" [ 10 ] : 460

Knuth ได้รับการสนับสนุนจาก Richard S. Varga ซึ่งเป็นที่ปรึกษาทางวิทยาศาสตร์ของสำนักพิมพ์ Varga กำลังเยี่ยมชมOlga Taussky-ToddและJohn Toddที่Caltechด้วยการรับรองอย่างกระตือรือร้นของ Varga สำนักพิมพ์จึงยอมรับแผนการขยายของ Knuth ในเวอร์ชันที่ขยายแล้ว หนังสือจะได้รับการตีพิมพ์เป็นเจ็ดเล่ม แต่ละเล่มมีเพียงหนึ่งหรือสองบท[ 11 ]เนื่องจากการเติบโตของบทที่ 7 ซึ่งมีน้อยกว่า 100 หน้าของต้นฉบับปี 1965 ตามเล่ม 4A หน้า vi แผนสำหรับเล่ม 4 จึงได้ขยายออกไปเพื่อรวมเล่ม 4A, 4B, 4C, 4D และอาจจะมีมากกว่านั้น

ในปี 1976 คนูธได้จัดทำฉบับพิมพ์ครั้งที่สองของเล่มที่ 2 ซึ่งจำเป็นต้องจัดพิมพ์ใหม่ แต่รูปแบบตัวอักษรที่ใช้ในฉบับพิมพ์ครั้งแรก (เรียกว่าhot type ) นั้นหาได้ยากแล้ว ในปี 1977 เขาจึงตัดสินใจใช้เวลาสร้างรูปแบบตัวอักษรที่เหมาะสมกว่า แปดปีต่อมา เขากลับมาพร้อมกับT E Xซึ่งปัจจุบันใช้สำหรับทุกเล่ม

ลักษณะเด่นอีกประการหนึ่งของหนังสือชุดนี้คือ ระดับความยากของแบบฝึกหัดที่แตกต่างกัน โดยมีการให้คะแนนเป็นตัวเลขตั้งแต่ 0 ถึง 50 ซึ่ง 0 หมายถึงง่ายมาก และ 50 หมายถึงยังเป็นคำถามที่เปิดกว้างในการวิจัยร่วมสมัย

มีรางวัลสำหรับผู้ที่ค้นพบข้อผิดพลาด

การเสนอเช็ครางวัลที่เรียกว่า " เช็ครางวัลคนุธ " มูลค่า "หนึ่งดอลลาร์ใน ระบบ เลข ฐานสิบหก" (100 ดอลลาร์ใน ระบบเลข ฐานสิบหก เท่ากับ 2.56 ดอลลาร์ใน ระบบเลขฐานสิบ) สำหรับข้อผิดพลาดใด ๆ ที่พบ และการแก้ไขข้อผิดพลาดเหล่านั้นในการพิมพ์ครั้งต่อ ๆ ไป ได้มีส่วนช่วยให้ผลงานชิ้นนี้มีความสมบูรณ์และยังคงน่าเชื่อถืออยู่ แม้จะตีพิมพ์ครั้งแรกมานานแล้วก็ตาม

ภาษาแอสเซมบลีในหนังสือ

ตัวอย่างทั้งหมดในหนังสือใช้ภาษาสมมติที่เรียกว่า " ภาษาแอสเซมบลี MIX " (MIXAL) ซึ่งทำงานบน "คอมพิวเตอร์ในจินตนาการที่เรียกว่า 'MIX'" ซึ่งพัฒนาขึ้นเพื่อให้ทันกับคอมพิวเตอร์อื่นๆ ในช่วงทศวรรษ 1960 และ 1970 แม้ว่า Knuth ตั้งใจให้ MIX ผ่านการทดสอบของกาลเวลา แต่เขาได้กล่าวไว้ในฉบับที่สามของเล่มแรกว่ามัน "ล้าสมัยไปแล้ว" [ 12 ]ในช่วงทศวรรษ 1990 Knuth เริ่มพัฒนาMMIXซึ่งเป็นคอมพิวเตอร์สมัยใหม่ ที่ใช้ RISCซึ่ง Knuth อธิบายว่าเป็น "คอมพิวเตอร์ RISC สำหรับสหัสวรรษใหม่" [ 13 ]การเปลี่ยนจาก MIX เป็น MMIX เป็นโครงการขนาดใหญ่ที่ใช้เวลาหลายปี ซึ่ง Knuth ได้ขอความช่วยเหลือจากอาสาสมัคร[ 12 ] MMIX จะวางจำหน่ายเวอร์ชันเสถียรในปี 2011 [ 13 ] Knuth พิจารณาว่าการใช้ภาษาแอสเซมบลีมีความจำเป็นสำหรับความเร็วและการใช้หน่วยความจำของอัลกอริทึม

เกี่ยวกับที่มาของ MIX นั้น Knuth กล่าวว่ามันคล้ายกับคอมพิวเตอร์ใดๆ ที่มีอยู่แล้วในขณะนั้น “แต่บางทีอาจจะดีกว่า” [ 12 ]ชื่อMIXสามารถแสดงเป็น 1009 ในเลขโรมันได้ นอกจากนี้ Knuth ยังอธิบายว่าที่มาของ 1009 มาจากการนำคอมพิวเตอร์จริง 16 เครื่องที่เขาเห็นว่าคล้ายกับ MIX และสามารถจำลอง MIX ได้อย่างง่ายดาย เขานำส่วนที่เป็นตัวเลขของหมายเลขรุ่นของคอมพิวเตอร์เหล่านั้นมาหาค่าเฉลี่ยโดยให้น้ำหนักเท่ากัน:

⌊(360 + 650 + 709 + 7070 + U3 + SS80 + 1107 + 1604 + G20 + B220 + S2000 + 920 + 601 + H800 + PDP-4 + II) / 16⌋ = 1009

ซอฟต์แวร์เช่นGNU MIX Development Kit (MDK) มีอยู่เพื่อจำลองสถาปัตยกรรม MIX [ 14 ]

การตอบสนองเชิงวิพากษ์

Knuth ได้รับรางวัลTuring Award ประจำปี 1974 "สำหรับผลงานสำคัญของเขาในการวิเคราะห์อัลกอริทึม […] และโดยเฉพาะอย่างยิ่งสำหรับผลงานของเขาใน 'ศิลปะแห่งการเขียนโปรแกรมคอมพิวเตอร์' ผ่านหนังสือที่มีชื่อเสียงของเขาในชุดต่อเนื่องที่มีชื่อเดียวกันนี้" [ 15 ] American Scientistได้รวมผลงานนี้ไว้ใน "หนังสือประมาณ 100 เล่มที่กำหนดรูปแบบวิทยาศาสตร์ในศตวรรษ" ซึ่งหมายถึงศตวรรษที่ 20 [ 16 ]หน้าปกของฉบับที่สามของเล่มที่ 1 อ้าง คำพูดของ Bill Gatesว่า "ถ้าคุณคิดว่าคุณเป็นโปรแกรมเมอร์ที่ดีจริงๆ… อ่าน (Knuth) Art of Computer Programming … คุณควรส่งประวัติย่อมาให้ผมแน่นอนถ้าคุณอ่านจบทั้งเล่ม" [ 17 ] The New York Timesเรียกมันว่า "ตำราที่กำหนดมาตรฐานของวิชาชีพ" [ 18 ]

เล่ม

สมบูรณ์

วางแผนไว้

ฉบับภาษาอังกฤษ

ฉบับปัจจุบัน

ต่อไปนี้คือฉบับปัจจุบันเรียงตามลำดับหมายเลขเล่ม:

  • หนังสือ ชุด "ศิลปะแห่งการเขียนโปรแกรมคอมพิวเตอร์ เล่ม 1-4B " (เมืองเรดดิง รัฐแมสซาชูเซตส์: แอดดิสัน-เวสลีย์, 2023), 3904 หน้าISBN 978-0-13-793510-9,0-13-793510-2
    • เล่ม 1: อัลกอริทึมพื้นฐานฉบับพิมพ์ครั้งที่ 3 (เรดดิง รัฐแมสซาชูเซตส์: แอดดิสัน-เวสลีย์, 1997), xx+650 หน้าISBN 978-0-201-89683-1,0-201-89683-4ข้อผิดพลาด: [1] (ตั้งแต่ 2011-01-08), [2] (ตั้งแต่ 2022, การพิมพ์ ครั้งที่ 49 ) ส่วนเพิ่มเติม: [3] (2011)
    • เล่ม 2: อัลกอริทึมเชิงกึ่งตัวเลข ฉบับพิมพ์ครั้งที่ 3 (เรดดิง รัฐแมสซาชูเซตส์: แอดดิสัน-เวสลีย์, 1997), xiv+762 หน้าISBN 978-0-201-89684-8,0-201-89684-2ข้อผิดพลาด: [4] (ตั้งแต่ 2011-01-08), [5] (ตั้งแต่ 2022, พิมพ์ครั้งที่ 45) ส่วนเพิ่มเติม: [6] (2011)
    • เล่ม 3: การจัดเรียงและการค้นหาฉบับพิมพ์ครั้งที่สอง (เรดดิง รัฐแมสซาชูเซตส์: แอดดิสัน-เวสลีย์, 1998), xiv+780 หน้า+แผ่นพับISBN 978-0-201-89685-5,0-201-89685-0ข้อผิดพลาด: [7] (ตั้งแต่ 2011-01-08), [8] (ตั้งแต่ 2022, พิมพ์ครั้งที่ 45) ส่วนเพิ่มเติม: [9] (2011)
    • เล่ม 4A: อัลกอริทึมเชิงการจัดเรียง, ตอนที่ 1ฉบับพิมพ์ครั้งแรก (อัปเปอร์ แซดเดิล ริเวอร์, นิวเจอร์ซีย์: แอดดิสัน-เวสลีย์, 2011, พิมพ์ครั้งที่ 26), xv+883 หน้าISBN 978-0-201-03804-0,0-201-03804-8ข้อผิดพลาด: [10] (ตั้งแต่ปี 2011), [11] (ตั้งแต่ปี 2022, พิมพ์ครั้งที่ 20)
    • เล่ม 4B: อัลกอริทึมเชิงการจัดเรียง, ตอนที่ 2ฉบับพิมพ์ครั้งแรก (อัปเปอร์ แซดเดิล ริเวอร์, นิวเจอร์ซีย์: แอดดิสัน-เวสลีย์, 2023, พิมพ์ครั้งที่ 3), xviii+714 หน้าISBN 978-0-201-03806-4,0-201-03806-4ข้อผิดพลาด: [12] (ตั้งแต่ปี 2023 พิมพ์ครั้งที่ 1)
  • เล่ม 1, ฉบับที่ 1: MMIX – คอมพิวเตอร์ RISC สำหรับสหัสวรรษใหม่ (Addison-Wesley, 14 กุมภาพันธ์ 2548), 144 หน้าISBN 0-201-85392-2ข้อผิดพลาด: [13] (ตั้งแต่ปี 2005 การพิมพ์ครั้งที่ 1) (จะอยู่ในฉบับที่สี่ของเล่มที่ 1)
  • อาหารเสริม MMIXโดย Martin Ruckert (แอดดิสัน-เวสลีย์), 193หน้าไอเอสบีเอ็น 0-13-399231-4การแปลงโจทย์/โปรแกรม MIX ในเล่ม 1, 2 และ 3 ไปเป็น MMIX
  • เล่ม 4, ตอนที่ 7: การแก้ปัญหาด้วยข้อจำกัด (Addison-Wesley, 5 กุมภาพันธ์ 2025), xiv+281 หน้าISBN 978-0-13-532824-8. ข้อผิดพลาด: [14] (2025-12-28)

ฉบับก่อนหน้า

เล่มครบชุด

หนังสือเหล่านี้ถูกแทนที่ด้วยฉบับพิมพ์ใหม่กว่า และเรียงลำดับตามวันที่พิมพ์

  • เล่มที่ 1: อัลกอริทึมพื้นฐานฉบับพิมพ์ครั้งแรก ปี 1968 จำนวน xxi+634 หน้าISBN 0-201-03801-3[ 24 ]
  • เล่ม 2: อัลกอริทึมเชิงกึ่งตัวเลขฉบับพิมพ์ครั้งแรก ปี 1969 จำนวน xi+624 หน้าISBN 0-201-03802-1[ 24 ]
  • เล่ม 3: การจัดเรียงและการค้นหาฉบับพิมพ์ครั้งแรก ปี 1973, xi+723 หน้า+แผ่นพับ, ISBN 0-201-03803-X. ข้อผิดพลาด: [15] .
  • เล่มที่ 1: อัลกอริทึมพื้นฐานฉบับพิมพ์ครั้งที่สอง ปี 1973 จำนวน xxi+634 หน้าISBN 0-201-03809-9. ข้อผิดพลาด: [16] .
  • เล่ม 2: อัลกอริทึมเชิงกึ่งตัวเลข ฉบับพิมพ์ครั้งที่สอง พ.ศ. 2524 จำนวน xiii+688 หน้าISBN 0-201-03822-6. ข้อผิดพลาด: [17] .
  • หนังสือชุด "ศิลปะแห่งการเขียนโปรแกรมคอมพิวเตอร์ เล่ม 1-3 " ฉบับพิมพ์ครั้งที่สอง (เมืองเรดดิง รัฐแมสซาชูเซตส์: แอดดิสัน-เวสลีย์, 1998) หน้าISBN 978-0-201-48541-7,0-201-48541-9
  • หนังสือชุด "ศิลปะแห่งการเขียนโปรแกรมคอมพิวเตอร์ เล่ม 1-4A " ฉบับพิมพ์ครั้งที่ 3 (เมืองเรดดิง รัฐแมสซาชูเซตส์: แอดดิสัน-เวสลีย์, 2011) จำนวน 3168 หน้าISBN 978-0-321-75104-1,0-321-75104-3

กลุ่มเส้นใย

เล่มที่ 4 ส่วนที่ 0–4 ได้รับการแก้ไขและตีพิมพ์ใหม่ในชื่อเล่มที่ 4A

  • เล่ม 4, ตอนที่ 0: บทนำเกี่ยวกับอัลกอริธึมเชิงการจัดเรียงและฟังก์ชันบูลีน (Addison-Wesley Professional, 28 เมษายน 2551) vi+240 หน้า, ISBN 0-321-53496-4. ข้อผิดพลาด: [18] (2011-01-01)
  • เล่ม 4, ตอนที่ 1: เทคนิคและวิธีการทางบิตไวส์; แผนภาพการตัดสินใจแบบไบนารี (Addison-Wesley Professional, 27 มีนาคม 2009) viii+260 หน้า, ISBN 0-321-58050-8. ข้อผิดพลาด: [19] (2011-01-01)
  • เล่ม 4, ตอนที่ 2: การสร้างทูเพิลและเพอร์มิวเทชันทั้งหมด (Addison-Wesley, 14 กุมภาพันธ์ 2548) v+127 หน้า, ISBN 0-201-85393-0. ข้อผิดพลาด: [20] (2011-01-01)
  • เล่ม 4, ตอนที่ 3: การสร้างชุดค่าผสมและการแบ่งส่วนทั้งหมด (Addison-Wesley, 26 กรกฎาคม 2548) vi+150 หน้า, ISBN 0-201-85394-9. ข้อผิดพลาด: [21] (2011-01-01)
  • เล่ม 4, ตอนที่ 4: การสร้างต้นไม้ทั้งหมด; ประวัติศาสตร์ของการสร้างแบบผสมผสาน (Addison-Wesley, 6 กุมภาพันธ์ 2549) vi+120 หน้า, ISBN 0-321-33570-8. ข้อผิดพลาด: [22] (2011-01-01)

เล่ม 4 ตอนที่ 5-6 ได้รับการแก้ไขและตีพิมพ์ใหม่ในชื่อเล่ม 4B

  • เล่ม 4, ตอนที่ 5: คณิตศาสตร์เบื้องต้นฉบับปรับปรุง; การย้อนกลับ; การเชื่อมโยงแบบเต้นรำ (Addison-Wesley, 2019-11-22) xiii+382 หน้า, ISBN 978-0-13-467179-6. ข้อผิดพลาด: [23] (2020-03-27)
  • เล่ม 4, ตอนที่ 6: ความพึงพอใจ (Addison-Wesley, 8 ธันวาคม 2015) xiii+310 หน้า, ISBN 978-0-13-439760-3. ข้อผิดพลาด: [24] (2020-03-26)

เส้นใยก่อน

เอกสารฉบับร่างก่อนฉบับหลักประกอบด้วยเนื้อหาที่กำลังพัฒนาสำหรับเอกสารฉบับหลักในอนาคต เอกสารเหล่านี้ถูกเผยแพร่ทางออนไลน์เป็นหลักเพื่อให้ผู้เชี่ยวชาญในสาขาสามารถตรวจสอบเนื้อหาก่อนที่จะเผยแพร่ไปยังกลุ่มผู้ชมที่กว้างขึ้น[ 25 ]

เล่ม 1

  • ก่อนฉบับที่1: MMIXได้รับการแก้ไขและตีพิมพ์เป็นเล่มที่ 1 ฉบับที่ 1

เล่ม 4

  • เอกสารชุดก่อนหน้า0A: บทนำสู่การค้นหาแบบผสมผสาน , 0B: พื้นฐานของบูลีนและ0C: การประเมินค่าบูลีนได้รับการแก้ไขและตีพิมพ์ใหม่เป็นเล่มที่ 4 ชุดที่ 0
  • บทความก่อนหน้าชุดที่ 1A: เทคนิคและวิธีการทางบิตและ ชุด ที่ 1B: แผนภาพการตัดสินใจแบบไบนารีได้รับการแก้ไขและตีพิมพ์ใหม่เป็นเล่มที่ 4 ชุดที่ 1
  • บทความก่อนหน้าชุดที่2A: การสร้างทูเพิล n ทั้งหมดและ2B: การสร้างการเรียงสับเปลี่ยนทั้งหมดได้รับการแก้ไขและตีพิมพ์เป็นเล่มที่ 4 ชุดที่ 2
  • เอกสารชุดก่อน3A: การสร้างชุดค่าผสมทั้งหมดและ3B: การสร้างพาร์ติชันทั้งหมดได้รับการแก้ไขและตีพิมพ์เป็นเล่มที่ 4 ชุดที่ 3
  • บทความก่อนหน้าชุดที่ 4A: การสร้างต้นไม้ทั้งหมดและ4B: ประวัติความเป็นมาของการสร้างแบบผสมผสานได้รับการแก้ไขและตีพิมพ์ใหม่เป็นเล่มที่ 4 ชุดที่ 4
  • บทความก่อนหน้า5A: Preliminaries Redux , 5B: Introduction to Backtrackingและ5C: Dancing Linksได้รับการแก้ไขและตีพิมพ์ใหม่เป็นเล่มที่ 4 บทความที่ 5
  • บทความก่อนตอนที่ 6A: ความพึงพอใจได้รับการแก้ไขและตีพิมพ์เป็นเล่มที่ 4 ตอนที่ 6
  • บทความก่อนตอนที่7A: Constraint Satisfactionได้รับการแก้ไขและตีพิมพ์เป็นเล่มที่ 4 ตอนที่ 7

ส่วนที่เหลือของเอกสารฉบับร่างก่อนตีพิมพ์นั้น ประกอบด้วยเนื้อหาที่จะตีพิมพ์ในเอกสารฉบับต่อๆ ไปและเล่มต่อๆ ไป

  • เล่ม 4, ส่วนก่อน 8A: เส้นทางและวัฏจักรของแฮมิลตัน(ไฟล์ PDF เวอร์ชันที่ไม่ได้รับการบำรุงรักษา)
  • เล่ม 4, หมวด 8B: กลุ่มย่อย
  • เล่ม 4, ก่อนตอนที่ 9B: ปริศนาสารพัดชนิด
  • เล่ม 4, ส่วนก่อน 9C: การประมาณค่าใช้จ่ายในการย้อนกลับ
  • เล่ม 4, ส่วนก่อน 12A: ส่วนประกอบและการสำรวจ(ฉบับ PDF ที่ไม่ได้รับการบำรุงรักษา)
  • เล่ม 4, ส่วนก่อน 14A: การจับคู่แบบทวิภาค
  • เล่ม 4, ส่วนก่อน 16A: บทนำสู่การเรียกซ้ำ

ดูเพิ่มเติม

  • ภาพรวมหัวข้อต่างๆ (หน้าเว็บส่วนตัวของ Knuth)
  • ประกาศวางจำหน่ายเล่มที่ 1 ของ 'ศิลปะแห่งการเขียนโปรแกรมคอมพิวเตอร์'
  • บทสัมภาษณ์ประวัติศาสตร์ปากเปล่ากับโดนัลด์ อี. คนูธที่สถาบันชาร์ลส์ แบ็บเบจมหาวิทยาลัยมินนิโซตา เมืองมินนิแอโพลิส ปี 2001 คนูธพูดคุยเกี่ยวกับสิทธิบัตรซอฟต์แวร์ การ เขียน โปรแกรมเชิงโครงสร้างการทำงานร่วมกัน และการพัฒนาTeX ของเขา บทสัมภาษณ์ประวัติศาสตร์ปากเปล่านี้ยังกล่าวถึงการเขียนหนังสือ " ศิลปะแห่งการเขียนโปรแกรมคอมพิวเตอร์"ด้วย
  • "Robert W Floyd, In Memoriam" โดย Donald E. Knuth , 2003 - (เกี่ยวกับอิทธิพลของBob Floyd )
  • TAoCPและอิทธิพลของมันต่อวิทยาการคอมพิวเตอร์ (Softpanorama)
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=The_Art_of_Computer_Programming&oldid=1359302280 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ศิลปะแห่งการเขียนโปรแกรมคอมพิวเตอร์

The Art of Computer Programming ( TAOCP ) เป็น หนังสือวิชาการหลายเล่ม(เล่ม 1–7) ที่เขียนโดยนักวิทยาศาสตร์คอมพิวเตอร์ Donald Knuthซึ่งนำเสนอ อัลกอริทึม...

ประวัติศาสตร์

หลังจากได้รับ ทุนการศึกษา Westinghouse Talent Search แล้ว Knuth ได้เข้าเรียนที่ Case Institute of Technology (ปัจจุบันคือ Case Western Reserve University ) ซึ่งผลการเรียนของเขานั้นโดดเด่นมากจนคณะอาจารย์ลงมติมอบปริญญา โทวิทยาศาสตร์ ให้แก่เขา หลังจากสำเร็จการ...

มีรางวัลสำหรับผู้ที่ค้นพบข้อผิดพลาด

การเสนอเช็ครางวัลที่เรียกว่า " เช็ครางวัลคนุธ " มูลค่า "หนึ่งดอลลาร์ใน ระบบ เลข ฐานสิบหก" (100 ดอลลาร์ใน ระบบเลข ฐานสิบหก เท่ากับ 2.

ภาษาแอสเซมบลีในหนังสือ

ตัวอย่างทั้งหมดในหนังสือใช้ภาษาสมมติที่เรียกว่า " ภาษาแอสเซมบลี MIX " (MIXAL) ซึ่งทำงานบน "คอมพิวเตอร์ในจินตนาการที่เรียกว่า 'MIX'" ซึ่งพัฒนาขึ้นเพื่อให้ทันกับคอมพิวเตอร์อื่นๆ ในช่วงทศวรรษ 1960 และ 1970 แม้ว่า Knuth ตั้งใจให้ MIX ผ่านการทดสอบของกาลเวลา...