计算机程序设计艺术

thumb

一直想开始阅读《计算机程序设计艺术》,因为这本巨作真的不是短时间能吸收的,更多是畏惧,给自己一个没有时间的借口。不知你是否想挑战一下自己呢?

该书作者计划出版7卷,目前只出版前3卷:1. Fundamental Algorithms; 2. Seminumerical Algorithms; 3. Sorting and Searching。全部写完还遥遥无期。

作者高德纳(Donald Ervin Knuth)因为三卷书获得美国计算机协会1974年图灵奖,该书1999年底被American Scientist列为20世纪最佳12部学术专著之一,与狄拉克的量子力学、爱因斯坦的相对论、曼德布罗特的分形论、鲍林的化学键、罗素和怀特海德的数学基础、冯诺意曼和摩根斯坦的博弈论、维纳的控制论、伍德沃和霍夫曼的轨道对称性、费曼的量子电动力学等科学史上的经典著作并列。

《计算机程序设计艺术》是Knuth一生中最重要的事业,他写这本书的目的是“组织和总结所知道的计算机方法的相关知识,并打下坚实的数学、历史基础”。

 

我们简单看下卷的结构情况:

第一册 - 基础算法(Fundamental Algorithms)
  • 第一章 - 基本观念(Basic concepts)
  • 第二章 - 资讯结构(Information structures)
第二册 - 半数值算法(Seminumerical Algorithms)
  • 第三章 - 随机数(Random numbers)
  • 第四章 - 算数(Arithmetic)
第三册 - 排序与搜寻(Sorting and Searching)
  • 第五章 - 排序(Sorting)
  • 第六章 - 搜寻(Searching)
第四册 - 组合算法 (Combinatorial Algorithms),准备中(截至2009年4月五个分册已经出版了),测试版本已上载到 Knuth's的网站).
  • 第4A卷, 列举与回溯(Enumeration and Backtracking)
    • 第七章 - 组合的搜寻(Combinatorial searching)
  • 第4B卷, 图形与网络算法(Graph and Network Algorithms)
    • 第七章续(continued)
  • 第4C及4D(可能)卷, 最佳化与递归(Optimization and Recursion)
    • 第七章续(continued)
    • 第八章 - 递归(Recursion)
第五册 - 造句算法(Syntactic Algorithms), 计划中(预计2015年完成).
  • 第九章 - 语句扫描(Lexical scanning)
  • 第十章 - 剖析技术(Parsing techniques)
第六册 - 与上下文无关语言理论(Theory of Context-Free Languages), 计划中 第七册 - 编译器技术(Compiler Techniques),计划中

 

以上资料参考维基中国。

American Scientist Online

Association for Computing Machinery

这里给个电子版下载地址,有99%的人下下来之后放在电脑上而不会阅读超过20页^^

除了那些有着出众毅力的人。

 

最后附上图灵奖获得者一览

年份
中文译名
姓名
贡献领域

1966年
艾伦·佩利
Alan J. Perlis
高级程序设计技巧,编译器构造

1967年
莫里斯·威尔克斯
Maurice V. Wilkes
存储程序式计算机EDSAC, 程序

1968年
理查德·卫斯里·汉明
Richard Hamming
数值方法,自动编码系统,错误检测和纠错码

1969年
马文·闵斯基
Marvin Minsky
人工智能

1970年
詹姆斯·维尔金森
James H. Wilkinson
数值分析,线性代数,“倒退”错误分析

1971年
约翰·麦卡锡
John McCarthy
人工智能

1972年
艾兹格·迪科斯彻
Edsger Dijkstra
程序设计语言的科学与艺术

1973年
查理士·巴赫曼
Charles W. Bachman
数据库技术

1974年
高德纳
Donald E. Knuth
算法分析、程序设计语言的设计、程序设计

1975年
艾伦·纽厄尔
赫伯特·西蒙
Allen Newell
Herbert A. Simon
人工智能,人类认知心理学和列表处理 (list processing)

1976年
迈克尔·拉宾
达纳·斯科特
Michael O. Rabin
Dana S. Scott
非确定性自动机

1977年
约翰·巴克斯
John Backus
高级编程系统,程序设计语言规范的形式化定义

1978年
罗伯特·弗洛伊德
Robert W. Floyd
设计高效可靠软件的方法学

1979年
肯尼斯·艾佛森
Kenneth E. Iverson
程序设计语言和数学符号,互动系统的设计,运用 APL进行教学,程序设计语言的理论与实践

1980年
安东尼·何珥
C. Antony R. Hoare
程序设计语言的定义与设计

1981年
埃德加·科德
Edgar F. Codd
数据库系统,尤其是关系型数据库

1982年
史提芬·古克
Stephen A. Cook
计算复杂度

1983年
肯·汤普逊
丹尼斯·里奇
Ken Thompson
Dennis M. Ritchie
UNIX操作系统和C语言

1984年
尼古拉斯·沃斯
Niklaus Wirth
程序设计语言设计、程序设计

1985年
理查德·卡普
Richard M. Karp
算法理论,尤其是NP-完全性理论

1986年
约翰·霍普克罗夫特
罗伯特·塔扬
John Hopcroft
Robert Tarjan
算法和数据结构的设计与分析

1987年
约翰·科克
John Cocke
编译理论,大型系统的体系结构,及精简指令集(RISC)计算机的开发

1988年
伊凡·苏泽兰
Ivan Sutherland
计算机图形学

1989年
威廉·卡亨
William (Velvel) Kahan
数值分析

1990年
费尔南多·考巴托
Fernando J. Corbató
CTSSMultics

1991年
罗宾·米尔纳
Robin Milner
LCFML语言CCS

1992年
巴特勒·兰普森
Butler W. Lampson
分布式,个人计算环境

1993年
尤里斯·哈特马尼斯
理查德·斯特恩斯
Juris Hartmanis
Richard E. Stearns
计算复杂度理论

1994年
爱德华·费根鲍姆
拉吉·瑞迪
Edward Feigenbaum
Raj Reddy
大规模人工智能系统

1995年
曼纽尔·布卢姆
Manuel Blum
计算复杂度理论,及其在密码学和程序校验上的应用

1996年
艾米尔·伯努利
Amir Pnueli
时序逻辑,程序与系统验证

1997年
道格拉斯·恩格尔巴特
Douglas Engelbart
互动计算

1998年
詹姆斯·尼古拉·格雷
James Gray
数据库与事务处理

1999年
弗雷德里克·布鲁克斯
Frederick P. Brooks, Jr.
计算机体系结构操作系统软件工程

2000年
姚期智
Andrew Chi-Chih Yao
计算理论,包括伪随机数生成,密码学与通信复杂度

2001年
奥利-约翰·达尔
克利斯登·奈加特
Ole-Johan Dahl
Kristen Nygaard
面向对象编程

2002年
罗纳德·李维斯特
阿迪·萨莫尔
伦纳德·阿德曼
Ronald L. Rivest
Adi Shamir
Leonard M. Adleman
公钥密码学RSA加密算法

2003年
阿伦·凯
Alan Kay
面向对象编程

2004年
文特·瑟夫
罗伯特·卡恩
Vinton G. Cerf
Robert E. Kahn
TCP/IP协议

2005年
彼得·诺尔
Peter Naur
Algol 60语言

2006年
法兰西斯·艾伦
Frances E. Allen
优化编译器

2007年[1]
爱德蒙·克拉克
艾伦·爱默生
约瑟夫·斯发基斯
Edmund M. Clarke
Allen Emerson
Joseph Sifakis
开发自动化方法检测计算机硬件和软件中的设计错误

2008年
芭芭拉·利斯科夫
Barbara Liskov
编程语言和系统设计的实践与理论

第1卷首先介绍编程的基本概念和技术,然后详细讲解信息结构方面的内容,包括信息在计算机内部的表示方法、数据元素之间的结构关系,以及有效的信息处理方法。此外,书中还描述了编程在模拟、数值方法、符号计算、软件与系统设计等方面的初级应用。此第3版增加了数十项简单但重要的算法和技术,并根据当前研究发展趋势在数学预备知识方面做了大量修改。 第2卷对半数值算法领域做了全面介绍,分“随机数”和“算术”两章。本卷总结了主要算法范例及这些算法的基本理论,广泛剖析了计算机程序设计与数值分析间的相互联系,其中特别值得注意的是作者对随机数生成程序的重新处理和对形式幂级数计算的讨论。 本书附有大量习题和答案,标明了难易程度及数学概念的使用。 本书内容精辟,语言流畅,引人入胜,可供从事计算机科学、计算数学、计算技术诸方面的工作人员参考、研究和借鉴,也是相关专业高等院校的理想教材和教学参考书。 《计算机程序设计艺术排序和查找(第3卷)(第2版)》内容简介:这是对第3卷的头一次修订,不仅是对经典计算机排序和查找技术的最全面介绍,而且还对第1卷中的数据结构处理技术作了进一步的扩充,通盘考虑了将大小型数据库和内外存储器。它遴选了一些经过反复检验的计算机方法,并对其效率做了定量分析。第3卷的突出特点是对“最优排序”一节作了修订,对排列论原理与通用散列法作了全新讨论。 ——《豆瓣读书》
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值