年,C语言还未出现,鼠标刚刚问世,ARPAnt还在酝酿之中。
年,编程语言多达几百种,PC走进千家万户,ARPAnt已经退役十多年。
年,有一套关于编程的图书出版了第1卷。
年,这套书仍然是科技领域的经典。
这就是《计算机程序设计艺术》。
《计算机程序设计艺术》简写为TAOCP
年,编程界先驱高德纳开始写作《计算机程序设计艺术》。他原本只打算写12章,谁知道一写就是几十年,一本书变成了一部“史诗”。
年—年,《计算机程序设计艺术》前三卷陆续出版。
年,高德纳荣获图灵奖,成为该奖项最年轻的得主。
年,写作中的高德纳发现图书排版缺乏美感,于是着手发明TX和Mtafont。高德纳的这两个“作品”后来大获成功,至今仍在使用。
年,高德纳已然拿下IT行业五项重量级大奖,此生至少还有九项荣誉在等待着他。
《计算机程序设计艺术》是高德纳智慧的结晶。
编程界先驱,《计算机程序设计艺术》作者高德纳
《计算机程序设计艺术》到底有多经典?
这套书曾被《美国科学家》期刊列为科学史上最重要的著作,与相对论、博奕论、量子力学等重量级学术作品相提并论。李开复说过,要把资料结构、演算法、数据库、操作系统原理、离散数学等基础课程学好,就去练习TAOCP里的题目。就连比尔·盖茨也说,“如果你能读懂整套书,请发给我你的履历。”
《计算机程序设计艺术》以算法为核心,呈现了程序设计理论的精髓。有人说,看懂了这套书,你就看懂了程序的灵魂。
TAOCP中文版前三卷
第1卷讲解基本算法,介绍信息结构,第2卷剖析了计算机程序设计与数值分析间的联系。
接下来,高德纳将内容自然延伸到了排序和查找。在第3卷开篇,高德纳直言,人们可能误以为本书面向的只是从事一般性排序工作或信息检索工作的系统程序员。事实上,排序与查找为讨论许多重要问题提供了一个理想框架,这些问题包括:
如何发现好的算法?
如何改进给定的算法与程序?
如何从数学的角度分析算法的效率?
如何针对给定的任务在不同算法之间做出合理的选择?
从哪些角度来证明算法是“最佳的”?
计算理论同实际考虑如何相互影响?
如何将磁带、磁鼓或磁盘等外部存储器高效地应用于大型数据库?
《卷3:排序与查找》实拍图拼图
本卷包括整套书的第5章和第6章。
第5章讨论排序,包括内部排序和外部排序,外加有关排列与最优排序技巧的辅助理论。第6章讨论在表中或文件中查找指定项目的问题,内容划分为顺序查找、键比较查找、数位性质查找、散列查找等方法。接下来高德纳考虑了一个难度更大的问题:辅助键检索。本卷还将讨论两种重要的信息结构,作为对第2章相关内容的补充,即优先队列和用平衡树表示的线性列表。
20世纪末,《计算机程序设计艺术》前三卷的最新版陆续出版。高德纳始终在以打磨艺术品的心态写这套书。
不久前,卷4B问世。
《计算机程序设计艺术》计划出版7卷,如今,79岁的高德纳依旧思维敏捷,笔耕不辍。全世界都在