程序员应该知道的TAOCP二三事

 

《计算机程序设计艺术》系列从1963年开始写作,至今已经跨越半个世纪,这套书计划出版7卷......中文版由图灵教育再版,卷1于2015年12月上市,卷2即日起可在各大网店购买。...



《计算机程序设计艺术》系列由当代最伟大的程序员之一高德纳从1963年开始写作,至今已经跨越半个世纪。这套书原计划出版7卷,已经出版《计算机程序设计艺术 卷1:基本算法》《计算机程序设计艺术 卷2:半数值算法》《计算机程序设计艺术 卷3:排序与查找》《计算机程序设计艺术,卷4A:组合算法》《计算机程序设计艺术:MMIX的增补》。2016年,高德纳78岁,我们期待他的伟大计划早日实现。

TAOCP中文版由图灵再版,《 卷1:基本算法(第3版)》已经于2015年12月上市,再版后受到读者的一致欢迎和认可。值得兴奋的是,《卷2:半数值算法(第3版)》各大网店已经到货,即日起可在京东、亚马逊、当当等网店购买。

作者:高德纳

译者:李伯民 范明 蒋爱军(卷1)

巫斌 范明(卷2)

页数:524(卷1) 616(卷2)

定价:198

开本:大16开

  • 计算机科学经典巨著,入选《美国科学家》20世纪最重要的12部学术专著
  • 最年轻图灵奖得主、当代最伟大的程序员之一高德纳作品
《计算机程序设计艺术》系列是公认的计算机科学领域权威之作,深入阐述了程序设计理论,对计算机领域的发展有着极为深远的影响。

《卷1:基本算法(第3版)》讲解基本算法,其中包含了其他各卷都需用到的基本内容。本卷从基本概念开始,然后讲述信息结构,并辅以大量的习题及答案。

《卷2:半数值算法(第3版)》全面讲解了半数值算法,分“随机数”和“算术”两章。书中总结了主要算法范例及这些算法的基本理论,广泛剖析了计算机程序设计与数值分析间的相互联系。
购买
京东:

http://item.jd.com/11848569.html

http://item.jd.com/11999308.html

亚马逊:

https://www.amazon.cn/dp/B019ZQR9GW

https://www.amazon.cn/dp/B01J2XKPXM

当当:

http://product.dangdang.com/23839682.html

http://product.dangdang.com/24007299.html


长按二维码试读“
随机数
高德纳其人

高德纳(Donald Ervin Knuth)

1938年1月10日出生于美国,当代著名的计算机科学家,现代计算机科学先驱人物。

高德纳的多卷本巨著《计算机程序设计艺术》,如今已成为基础算法与数据结构领域的传世经典。《美国科学家》杂志将其评为20世纪最重要的12部自然科学专著之一,与罗素和怀特海、爱因斯坦、狄拉克、费曼、冯·诺依曼等人的著作齐名。他推广了算法分析中的渐近符号(即大O 符号),发明了LR语法分析,还反驳了Dijkstra对goto语句的批判。

Knuth不只是理论家。1976年写完《计算机程序设计艺术》第3卷后,他本打算花一年时间写个排版系统,包括TeX和METAFONT,好让自己的著作看起来更加赏心悦目。结果十年时光过去,他才完成了这款软件。同时,他还发明了一种称为“文学编程”的编程风格,以及一种用于排版、至今仍很先进的文章段落断行算法。

他一生获奖无数,包括首届美国计算机协会Grace Murray Hopper奖(1971年)、图灵奖(1974年)和美国国家科学奖(1979年)。自1990年起,他不再使用电子邮件。据他自己解释,这样做是因为他追求的不是“高屋建瓴”而是“寻根究底”,他必须深刻理解与领悟计算机科学的广袤领域,从而在书中加以解释。
关于TAOCP,高德纳说
对我的书,人们时常持有两种不同评价,这让我感到左右为难。一种评价是:“哎,这部分内容太复杂了,你还是别提它比较好。”另一种评价是:“你这书上的知识都太微不足道了,没什么意思。”对前一种评价我愿意回答:“我干脆什么都别提算了。”对后一种评价我想说:“鄙人实在是太才疏学浅了。”

说到底,对我来说至关重要的是,所有能在半页纸篇幅之内解释清楚的精妙知识,我这书里必须得有,所有精彩得让我过目难忘的材料,我也决不会错过。于是我发现,在我写的二叉决策树一章中,居然塞进了260多道习题。因为层出不穷的素材似乎在提醒着我,关注这章的读者绝非等闲之辈。不过,我的意思可不是所有读者都会对这260多道习题感兴趣。我只是相信,很多读者会因为这里的每一道习题,而对我的书赞不绝口。

居然真有人从头到尾读过我的书,这事儿太让我惊讶了。多数情况下,人们只挑选自己喜欢的章节看看。可他们如果继续读下去,会发现书中的内容其实只用到了一小部分术语,而并非充斥着各种各样的符号和术语。如果我不写这些书的话,别人查找类似资料的过程可能会困难得多。这正是我不断写作的动力。

根据著名Common Lisp专家、Jolt生产效率大奖图书《实用Common Lisp编程》作者Peter Seibel的访谈笔录成书的《编程人生》,记录了15 位软件先驱的编程生涯。

Seibel特别有意思,在访谈每个大牛的时候基本都会问到一个问题:

你觉得《计算机程序设计艺术》这套书怎么样?我在访谈中问过一些人,他们中有些真的从头读到了尾,有些把它放在书架上,在需要时作为参考书查阅,还有些就只是摆在书架上,连碰都不去碰它。

以下大牛都认真研读过高德纳的《计算机程序设计艺术》:

参与创建Common Lisp和Scheme的Guy Steele

Smalltalk之母Dan Ingalls

调试大师Bernie Cosell

JavaScript宗师Douglas Crockford

JavaScript之父Brendan Eich

Java大神Joshua Bloch

Haskell先驱Simon Peyton Jones

人工智能专家、谷歌研发总监Peter Norvig
关于TAOCP,他们说
Brendan Eich

Knuth 写的《计算机程序设计艺术》,卷1到卷3,我很喜欢,特别是半数值算法那部分,还有双重散列之类的,关于黄金比例的证明则被留做练习题,很有意思。

Joshua Bloch

Knuth的《计算机程序设计艺术》,事实上,我从来没有读完这一套书,

没有从头到尾看过。但当我研究某个具体算法的时候,我就去看他会怎么说。往往可以得到我想要的东西,这套书太全面了。

Douglas Crockford

在上大学时,有那么几个月我连房租都没交,就是为了买他的书。我读过这些书,从中得到了不少乐趣,比如在第一卷的索引有个关于拖车的笑话就很好玩。我到现在为止还没能把书上的内容全部搞懂。Knuth对某些地方的研究要比我深入得多,但我还是喜欢这些书并把它们当做参考资料。

Simon Peyton Jones

Don Knuth的《计算机程序设计艺术》系列不是能够一口气读下去的,不是那种书。在某个阶段我多次推荐过这套书。

Peter Norvig

有段时间我拿它当我的显示器底座,因为它是我最大部头的成套书之一,而且高度恰好合适。我感觉这样很舒服,因为它总在那儿陪着我,而且因为它就在我面前,所以我找参考书的时候就更容易去顺手翻翻它。

Seibel:但你每次想查阅它,还得先把显示器抬起来吗?

Norvig:不用,我那套书是盒装的,你只要使劲抽书就行,也可以只抽其中一本。
关于TAOCP的赠书,我在憋大招
你们有啥好建议?



    关注 图灵教育


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册