编辑 | 伍杏玲

出品 | CSDN(ID:CSDNnews)

高德纳(Donald Ervin Knuth)被誉为现代计算机科学的鼻祖,毕生致力于编译程序、属性文法和运算法则等领域的前沿研究,共出版专著17部,发表论文150余篇,写出TeX和METAFONT两个数字排版系统,撰写出IT界经典巨著《计算机程序设计的艺术》,提出计算机科学技术最基本的两个概念:“算法”(Algorithm)和“数据结构”(Data Structure)。

他还是个音乐天才,自己谱写乐曲,用信息论分析音乐复杂度。现年82岁的高德纳仍笔耕不断,忙着完成《计算机程序设计的艺术》第4卷的B部分。

维基百科:高德纳

写小说获 “科学天才”奖提名

高德纳于1938年1月10日在美国威斯康星州密尔沃基市出生。他从小表现出与众不同的才能:

高德纳在8岁的时候,为了帮自己所在的班在一个拼写单词活动夺得冠军,跟老师请假装病在家两周,利用一部大字典,得出了4500个单词,比裁判所准备的还要多出2000个,这使得小高德纳一下子成了学校的名人。

高中时,高德纳发明了一种算法,对任意画出的2条相交直线可通过这种算法立即给出相应的方程。

此外,中学时期的高德纳还写过一篇名为《普茨比度量衡体系》的科学幻想小说,并在美国著名的《疯狂》杂志上发表,大受欢迎,杂志被多次重印。这部小说不仅令他挣得平生第一笔稿费25美元,更令他获得了西屋“科学天才” 奖的提名。

自学编程为校篮球队赢得冠军

1956年,高德纳以打破学校记录的高分毕业,进入俄亥俄州克利夫兰的开思理工学院攻读物理。

大一暑假,高德纳留校打工。碰巧他工作室的隔壁是学校机房,一台新到的、体积庞大的IBM650引起了高德纳极大的好奇。他接连好几天彻夜不眠地呆在机房,熬夜读IBM 650的说明手册,甚至自学基本的程序设计。

那时高等计算机语言还没问世,编写程序只能用第二代或是汇编语言,编程是一件既耗时又费力的事。但操作过几次IBM 650后,高德纳声称自己能编写出比说明手册上介绍的更好程序。

高德纳很快便写出了把数字转化为素数、井字游戏等可执行数学函数的程序。他还为校篮球队开发出了一个应用程序,可根据球员在每场比赛中的得分、助攻、抢断、篮板球、盖帽等多项统计数字对球员进行综合评估,球队教练根据评估结果来挑选球员,这使得开思理工学院在1960年赢得了联赛冠军。

因为对计算机编程一发不可收拾的着迷,高德纳在大二时决定改学数学。

最年轻的图灵奖获得者

1960年,高德纳从开思学院毕业,在全体教员参加的选举上,因表现出色被授予学士学位,还同时被破例授予硕士学位。随之他进入加州理工学院研究生院,1963年获得博士学位,留校工作。

高德纳在读研时,开始为不同的计算机编写编译器,当时很多软件公司花费高价寻求这样的程序,据说高德纳的一个编译器可卖出5000美元的高价。

在博士毕业的前一年,一著名出版社约小有名气的高德纳写一本编译器和程序设计方面的书。出版社在1962年约稿,可直到1966年高德纳还未收到任何反馈,编辑忍不住催促高德纳进展。高德纳说才刚刚完成3000多页,但仍然没有进入主题。编辑在震惊之余,决定出多卷本。这便是《计算机程序设计艺术》系列丛书的由来。

这一套书是编程界的名书,第一卷的《基本算法》于1968年正式发行,主要讲述编程时要用到的基本数学知识和处理不同问题要用到的算法。但真正能读完读懂的人为数并不多,据说比尔•盖茨费时几个月才能读完这一卷。

后来第二卷、第三卷相继出版,销量突破百万不止,风靡全球。美国ACM在1974年将图灵奖授予给他。彼时的高德纳不过36岁,是最年轻的图灵奖获得者,这个记录一直保持至今。

十年时间研究排版美学

尽管前三卷书取得了相当大的成功,可是高德纳随后却暂停了写作第四卷的计划,理由是现有的计算机排版软件效果太差,破坏了这套书的美。

接下来高德纳花费整整十年的时间专研排版问题。 他发现当时的计算机虽能替代人工排出普通的报纸杂志样式,但对处理复杂的数理公式却无能为力。于是高德纳试图为计算机写一个小程序来解决这个问题,这个程序被命名为“TeX”。

Tex很快被采用,如今仍是全球学术排版的不二之选。除此之外,高德纳还字体设计系统METAFONT和文学化编程,前者对整个西文印刷行业带来了革命性变革,后者则充分展示程序设计的艺术性:清晰、美感、诗意。

拿奖杯装水果

高德纳一生所获得的荣誉不计其数,ACM除了授予他图灵奖外,还在1971年授予他以COBOL的发明人、女计算机科学家霍普(Grace Murray Hopper)命名的奖项,这个奖项是专门奖励30岁以下的优秀青年计算机科学家的。

因研发Tex和METAFONT等成就,当时的美国总统在1979年亲自为高德纳颁发了美国国家科学奖奖章。他还获得了美国数学和IEEE颁发的共五个奖项。

面对这么多荣誉,高德纳却始终保持一种十分超然的态度,据说当年的碗状图灵奖杯如今已被他当做了盛放水果的果盘。

“写作是演奏管风琴”

高德纳的父亲是一个多才多艺的人,星期天在教堂演奏风琴,受父亲影响,高德纳从小便爱上了音乐,这个爱好一直伴随他一生。他甚至一度打算报考音乐专业。

虽然高德纳主业是编程,但音乐是他的“主要副业”, 他在著作《娱乐和游戏论文集》一书里,用四个章节来阐述了他和音乐的关系。高德纳将写作喻为演奏管风琴,他的书房里的摆放有一台特制的84管管风琴,当他连续工作几天需要放松一下时,便会着手谱写管风琴乐曲。

高德纳称自己在上世纪60年代就拟订了作曲的计划,虽然别人来做这些事可以比他高明得多,但“内心却有一个声音在催我歌唱!”

细心的读者可能会发现“高德纳”并非其英文原名的音译,确实如此,这个名字是高德纳在1977年访华时,香港城大计算机科学系主任、华裔图灵奖得主姚期智夫人姚储枫教授所起。

以“高”为姓,是因为他体型高大,而且辅音G和K读音接近;“德纳”则与“Donald”相谐,在中文里含体面高贵之意。

姚储枫还给高德纳的爱人取了“高精兰”的中文名,为他们的孩子John和Jen分别起名“高小强”、“高小珍”。他们全家和中国孩子在公园玩了无需语言交流的游戏。

现年82岁的高德纳仍笔耕不断,忙着完成第4卷的B部分,他预计这本书将至少包含A到F部分。

计算机算法鼻祖——高德纳

唐纳德·克努特百科

计算机鼻祖-Donald Knuth(高德纳) 的传奇

你点的每个“在看”,我都认真当成了AI
                    作者 | 年素清编辑 | 伍杏玲出品 | CSDN(ID:CSDNnews)高德纳(Donald Ervin Knuth)被誉为现代计算机科学的鼻祖,毕生致力于编译程序、属性文法和运算法...
计算机之父 国籍 英国 
毕业院校剑桥大学国王学院,普林斯顿大学二战经历主要是破译敌方密码的工作。由于破译工作的需要,他参与了世界上最早的电子计算机的研制工作.他的工作取得了极好的成就,因而于1945年获政府的最高奖——大英帝国荣誉勋章(O.B.E.勋章)。
被迫害后逝世195
著名犹太历史学家Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从。这个过程沿着圆圈一直进行,直到最终只剩下一个人留下,这个人就可以继续活着。问题是,一开始要站在什么地方才能避免被处决?
设编号为1,2
				
凡是学过一点计算机知识的人大概都知道“数据结构+算法= 程序”这一著名公式。提出这一公式并以此作为其一本专著的书名的瑞士计算机科学家尼克劳斯·沃思(Niklaus Wirth)由于发明了多种影响深远的程序设计语言,并提出结构化程序设计这一革命性概念而获得了1984年的图灵奖。他是至今惟一获此殊荣的瑞士学者。 沃思1934年2月15日生于瑞士北部离苏黎世不远的温特图尔(Winterthur),其父瓦尔特是一位地理学教授。沃思小时就喜欢动手动脑,组装飞机模型是他的最大爱好。中学毕业以后,沃思进入在欧洲甚至全世界
母牛的故事  从前有一个农夫,他的名字叫做约翰。他养了很多很多头母牛。突然有一天,一只调皮的母牛走丢了,农夫要尽快的抓住她,不然她就又跑掉了!现在我们将问题简单化。假设农夫和母牛都站在一条数轴上,农夫开始的位置为N,母牛的位置为K。  约翰有三种行动方式,每行动一次需要一秒钟时间,假设农夫的现在的位置为X,他可以向前走一格到X+1,也可以向后走一格走到X-1,他还可以传送!一下子走到了2X
1,.弗洛伊德(Floyd)算法介绍 和Dijkstra算法一样,弗洛伊德(Floyd)算法也是一种用于寻找给定的加权图中顶点间最短路径的算法。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名 弗洛伊德算法(Floyd)计算图中各个顶点之间的最短路径 迪杰斯特拉算法用于计算图中某一个顶点到其他顶点的最短路径。 弗洛伊德算法 VS 迪杰斯特拉算法:迪杰斯...
### 回答1: 《计算机程序设计艺术》是一本经典的计算机科学教材,由美国计算机科学家Donald E. Knuth(高德)所著。这本书分为三卷,涵盖了算法和数据结构的基本概念以及编程技巧。 作为计算机科学领域的权威之作,《计算机程序设计艺术》通过具体的例子和详细的解释,让读者深入了解了程序设计艺术背后的原理和技巧。它揭示了代码的优雅和高效,帮助开发者出可维护和高性能的程序。 这本书的每一章都涉及一个特定的主题,包括基本的数据结构、排序算法、字符串处理、图算法等。高德在书中提出了各种具有创新性的解决方案,展示了他对算法优化的独特见解。这些解决方案不仅仅是一种教学工具,更是一个启发性的思考,使读者能够在实际编程中灵活应用。 与其他计算机科学教材相比,《计算机程序设计艺术》更强调理论与实践的结合。读者通过书中的示例和习题,能够学习如何将理论知识应用到实际的编程项目中,培养了解决实际问题的能力。 《计算机程序设计艺术》第一卷至今已经发行了多个版本,而第二卷和第三卷目前也在陆续出版中。这本书对于计算机科学从业者和学生来说是一本不可或缺的经典之作,帮助他们在程序设计的道路上不断成长和进步。同时,它也是计算机程序设计领域的里程碑,被广泛认可为计算机科学的圣经之一。 ### 回答2: 《计算机程序设计艺术》是由计算机科学家Donald E.Knuth在20世纪60年代至70年代编的一系列专著,总共分为七卷。这套书以其深入浅出、严谨全面的风格,被广泛认为是计算机程序设计的经典之作。 这套书以多样的程序设计问题为切入点,涵盖了计算机科学领域的众多知识点,包括算法、数据结构、编程语言等等。不仅如此,Knuth还以独到的思维深入探讨了程序设计的本质和艺术,并从理论和实践两个方面给出了许多宝贵的指导和建议。 《计算机程序设计艺术》以其独特的风格和深度引领和影响了几代计算机科学家。这本书不仅是一本指导学习计算机程序设计的工具书,更是一本关于创造性解决问题的权威之作。它的内容既包括了数学和计算机科学独立的部分,也包括了二者交叉的部分,这使得它成为了一个全面学习程序设计算法的杰出教材。 这套书的PDF版本可以通过网络免费获取,授权方式为GNU自由文档许可证。这使得它成为了广大计算机科学爱好者、学生和专业人士的宝贵资源。通过阅读这本书,读者可以从Knuth那里获得宝贵的经验和智慧,学习到如何设计高效的算法和优雅的程序。 总之,《计算机程序设计艺术》PDF是一本非常重要和有影响力的计算机科学书籍,对于想要深入学习计算机程序设计的人来说是一本不可多得的好书。无论是初学者还是专业从业者,都可以从中获得启发和指导,提高自己的技能和思维水平。 ### 回答3: 《计算机程序设计艺术》是一本由计算机科学家 Donald E. Knuth 编的经典著作,它共有七卷之多,被广泛认为是计算机科学领域的圣经。 该系列书籍主要探讨了计算机程序设计的各个方面,从基础的数据结构和算法到高级的代码优化和程序设计方法。它不仅涵盖了编程语言知识,还探讨了程序设计的哲学和艺术层面。 《计算机程序设计艺术》的内容丰富且深入,以清晰而严谨的方式介绍了各种算法和数据结构的实现细节。每一卷都以数学符号和伪代码为基础,展示了如何设计和实现高效的程序。此外,该书还包含了丰富的示例和练习,帮助读者巩固所学知识。 这本书的特点之一是关注程序的性能和效率。作者不仅提供了算法的设计和实现方法,而且详细解释了每个算法的时间复杂度和空间复杂度。这使读者能够更好地理解算法和数据结构的选择,并为他们的程序提供最佳性能。 除了算法和数据结构,该书还探讨了程序的可读性和可维护性。作者提供了许多有关代码编和组织的建议,帮助读者编清晰、易于理解和易于维护的代码。 《计算机程序设计艺术》是一本经典之作,它对计算机科学的发展产生了深远的影响。它不仅是一本技术指南,还是一本启发人思考的艺术品。无论是初学者还是有经验的程序员,都可以从中获得宝贵的知识和启示。这本书的PDF版本使得更多人能够方便地获取和阅读这个重要的计算机科学经典。