计算机程序设计艺术
维基百科,自由的百科全书
计算机程序设计艺术(The Art of Computer Programming),簡稱TAOCP,是高德纳编著的关于计算机程序设计的七卷本著作。並获得美国计算机协会1974年图灵奖。
目录 |
[编辑] 概述
1962年,Knuth還是個研究生的時候就開始了程式設計的工作。高德納在攻讀博士其間,Addison Wesley出版商找他出書,因課業繁忙,一時沒時間草稿,1963年高德納獲得加州理工學院數學博士學位。1968年,31歲開始出版他的歷史性經典巨著: The Art of Computer Programming,一口氣寫了三千多頁,自此他計劃寫7卷。1999年底被美國科學家期刊(American Scientist)列为20世纪最佳12部学术专著之一,与狄拉克的「量子力学」、爱因斯坦的「相对论」、曼德布罗特的分形论、鲍林的「化学键」、罗素和怀特海德的「数学基础」、冯诺依曼和摩根斯坦的「博弈论」、维纳的「控制论」、伍德沃和霍夫曼的「轨道对称性」、费曼的「量子电动力学」等科学史上的重要著作并列必讀經典。1976年為止,已賣出超過一百萬冊。
任何人發現書上的錯誤,都可以向他舉發,並領取 $2.56美金,因為「256美分剛好是十六進位的一美元」(256 pennies is one hexadecimal dollar.)[1]。比爾·蓋茨在1995年說,“如果你認為你是一名真正優秀的程序員,就去讀第一卷,確定可以解決其中所有的問題。”“如果你能讀懂整套書的話,請給我發一份你的簡歷。”《計算機程序設計藝術》是Knuth一生中最重要的事業,他寫這本書的目的是“組織和總結所知道的計算機方法的相關知識,並打下堅實的數學、歷史基礎”。
同時他在進行第二卷的校樣時,發覺書商把他書中的數學式子排得太難看了,因此發明數學排版軟體TEX,和字形设计系统METAFONT。等到他再回來要寫第四冊的時候,發現他想討論的東西,現在都寫成API了。1992年Knuth自大學退休,處於隱居的生活,退休的原因是為了完成 TAOCP 這部巨著,他估計大約要花 20 年來完成。目前此書出版至第三冊,第四冊預計2005年2月出版,他期望第四卷的篇幅約為2000頁,並分為三個獨立的章節。
[编辑] 章節
- 第一冊 - 基礎演算法(Fundamental Algorithms)
- Chapter 1 - 基本觀念(Basic concepts)
- Chapter 2 - 資訊結構(Information structures)
- 第二冊 - 半數值演算法(Seminumerical Algorithms)
- Chapter 3 - 隨機數(Random numbers)
- Chapter 4 - 算數(Arithmetic)
- 第三冊 - 排序與搜尋(Sorting and Searching)
- Chapter 5 - 排序(Sorting)
- Chapter 6 - 搜尋(Searching)
- 第四冊 - 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 4A, 列舉與回溯(Enumeration and Backtracking)
- 第五冊 - 造句演算法(Syntactic Algorithms), 計劃中 (as of August 2006, 預計2015年完成).
- Chapter 9 - 語句掃瞄(Lexical scanning)
- Chapter 10 - 剖析技術(Parsing techniques)
- 第六冊 - 與上下文無關語言理論(Theory of Context-Free Languages), 計劃中
- 第七冊 - 編譯器技術(Compiler Techniques)計劃中
[编辑] 中譯本
- 《计算机程序设计艺术》,國防工業出版社,譯者:蘇運霖,電腦科學專家。
[编辑] 注釋
- ↑ 1999年,高纳德教授腾出时间回覆了所有信件,共汇出125张支票。其中Axel Böttcher 曾先后5次得到2.56美金的支票,3次得到5.12美金的支票。