计算机专业人士,必读之经典图书
计算机专业人士,必读之经典图书 }( {Tc f&
转载VeryCD --星月夜 x`. #"O5k
1.The Art of Computer Programming [$0e.3 gb
KKy y7s l
%+w }J7>7<
Author: Donald.E.Knuth }+A ga #0
Web site: <!KAbp g$
http://www-cs-faculty.stanford.edu/~knuth/taocp.html J uf$* k
$ 'Dk `3R
Book Info: 这部书被誉为20世纪最重要的20部著作之一,与Einstein的相对论>>并列,是计算机科学领域的权威著作.全书共分7卷,目前已经出版了3卷,被誉为"计算机程序设计理论的荷马史诗","可与牛顿的自然科学的数学原理>>媲美的巨著".作者数学方面的功底造就了本书严谨的风格,虽然本书不是用当今流行的程序设计语言描述的,但这丝毫不损伤它"程序设计史诗"的地位.道理很简单,它内涵的设计思想是永远不会过时的.The Art of Computer Programming 原计划要出七册,但目前只完成了三册.该书有日文,俄文,西班牙文等许多国的版本.其中,中文版由国防大学出版社发行. qH /_(B22F
Book Reviews: _q6c QmA K
无数的读者都在谈论Knuth的书所带来的深远影响.科学家惊叹于分析逻辑之透彻严谨,而普通的编程人员也已成功地将书中所列方案运用到他们的日常问题中.所有的人都非常赞赏Knuth在这套书中所表现的精确与风趣,并为其明确性与涉及面之广而感到欣喜. 6` N{?]%Qc
我无法向你表达这套书在学习和创造性方面所带给我的兴奋与激动,我已经将它们带入了我的生活,就像我的汽车,饭馆,工作,家庭……无所不在. uO b t?y
----Charles Long N`f ;zR*({
无论你的背景怎样,如果你正在进行复杂的计算机编程,你就应该阅读本套书中的每本书,来补充你的专业知识. ,/E N2Uoy
当一个问题难以解决,而必须使用Knuth的这套书来解决时,总是一件令人愉快的事情.我发现在计算机方面使用它们会有惊人的效果. K]gr c^Jh
----Jonathan Laventhol t (&YmC
如果你认为你是一名真正优秀的程序员……读Knuth的计算机程序设计艺术>>,如果你能读懂整套书的话,请给我发一份你的简历. } ]F*F0v
----Bill Gates IxlHz [
The Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd Edition) * 'n Qd F
j<!I@,
h&A% 9s
Author: Donald.E.Knuth q' _f ( mk
Publisher: Prentice Hall Uv @3 p ^
Amazon Reviews: 5hx~/n.b7
Amazon.com Wp${s 4TV
|0/~z|L} &
Book Info: 卷1为基础运算法则,该书以基本的编程概念和技术为开始,然后讲述信息结构--计算机内信息的表示法,数据元素间的结构关系以及处理它们的有效方法.主要应用于模拟,数字方法,符号计算,软件和系统设计.许多简单和重要的运算法则和技术已添加到前一版本中,精确的初步计算部分已经修改,以适应当前趋势. { [IEk
The Art of Computer Programming, Volume 2: Seminumerical Algorithms (3rd Edition) l ZB6{X@
<E2`J :=
8 11 }"
Author: Donald.E.Knuth 'e).m`p$ N
Publisher: Prentice Hall oF [ldi
Amazon Reviews: 6 _8VKg'L
Amazon.com 0cqP ~A
h# WX>h-
Book Info: 第2卷对半数值算法领域做了全面介绍,分"随机数"和"算术"两章.本卷总结了主要算法范例及这些算法的基本理论,广泛剖析了计算机程序设计与数值分析间的相互联系.第3版中特别值得注意的是Knuth对随机数生成程序的重新处理和对形式幂级数计算的讨论. .q [ "2/%W
The Art of Computer Programming, Volume 3: Sorting and Searching (2nd Edition) ea|}:F/[Am
sUq ,Cp,rI
2, k&So .
Author: Donald E.Knuth 9 kf}J@7_
Publisher: Prentice Hall f^ .| # m
Amazon Reviews: ja*qq1e6 J
Amazon.com P? ='_a
iKW3n;P
Book Info: 卷3为分拣和搜索,这是本书的第1个修订版,它是对计算机分拣和搜索的一流技术的最全面的研究,它扩展了卷1中数据结构的处理方法,将大小数据库以及内存和外部存储都包含在内.本书包括对计算机方法仔细检查的选择方案,和其效率的大量分析.本书该版的独特之处在于优化了的分拣,以及对通用散列法和排列法的新的理论论述. f!s" &P 12
作者简介: f UM Huz #
Donald.E.Knuth(唐纳德.E.克努特,中文名高德纳)是算法和程序设计技术的先驱者,是计算机排版系统TeX和METAFONT的发明者,他因这些成就和大量创造性的影响深远的著作(19部书和160篇论文)而誉满全球,在计算机科学领域享有崇高的威望,是计算机科学界公认的大宗师.作为斯坦福大学计算机程序设计艺术的荣誉退休教授,他当前正全神贯注于完成其关于计算机科学的史诗性的七卷集.这一伟大工程在1962年他还是加利福尼亚理工学院的研究生时就开始了.Knuth教授获得了许多奖项和荣誉,包括美国计算机协会图灵奖(ACM Turing Award),美国前总统卡特授予的科学金奖(Medal of Science),美国数学学会斯蒂尔奖(AMS Steele Prize),以及1996年11月由于发明先进技术荣获的极受尊重的京都奖(KyotoPrize).现与其妻Jill生活于斯坦福校园内. I D U FlR
Donald.E.Knuth人生最辉煌的时刻在斯坦福大学计算机系渡过,获得了美国计算机协会图灵奖,成为本领域内当之无愧的泰斗. T s *9Cd
---------------------------------------------------------------- rOJX F/ 7}
2.Introduction to Algorithms R P ~F8
LCr3 ((9Bl
N: XhH[@V1
Author:Thomas H.Cormen ,Charles E.Leiserson ,Ronald L.Rivest ,Clifford Stein 8 JU {t
Amazon Reviews: qx G/f m
Amazon.com ;C w,[#
0P~H IaE6
Book Info: 简称为CLRS的算法导论>>,被称作"计算机算法的圣经". W)X 5Wt65
本书的主要作者来自麻省理工大学计算机,作者之一Ronald L.Rivest 由于其在公开秘钥密码算法RSA上的贡献获得了图灵奖,目前是算法的标准教材,美国许多名校的计算机系都使用它,国内有些院校也将本书作为算法课程的教材.另外许多专业人员也经常引用它.由于TAOCP只出版了3卷,CLRS比较起前者来则显得内容更为全面,基本包含了所有的经典算法.本书程序全部由伪代码实现,这更增添了本书的通用性,使得利用各种程序设计语言的程序员都可以作为参考.语言方面通俗,很适合作为算法教材和自学算法之用.国内的很多作品名为数据结构,从本书中断章取义,把数据结构与算法混为一谈,搞得作者自己都迷迷糊糊.这也是我不十分愿意向大家推荐国内作品的原因.你会发现现在基本上所有的数据结构与算法书籍都会将本书作为参考文献之一,更可以说明一个问题,本书是作为读者进行算法学习的最佳选择.作为本书的补充内容,我愿意向大家推荐下面的学习资料:你可以通过这个地址找到本书的所有练习答案: QO$@-!c hT
http://www.itu.dk/people/beetle/ F$ ` .`7
.为了更好的学习本书中的内容,最好的指导当然是来自作者本身讲述本书的课程,读者们可以通过 f,D7eCWD
http://18.89.1.101/sma/5503fall2001/index5503fall2001.html !q 1 f <
获得课程的录像. ?MC pHa;i
---------------------------------------------------------------- YN 8x L
3.Data Structure & Algorithm Analysis in C (Second Edition) _^ g&W SA
( (- e})h
]5nkc3l r
Author:Mark Allen Weiss Zt O! dX
Published:September 1996 C #,9n@cL
Web site: dK:1>$NB
http://www.cs.fiu.edu/~weiss/ M;) 6i b l
sQc 7A'6
Amazon Reviews: j=%7w K
Amazon.com ; 3.# $ ~
;H4{>?}jf
Book Info: 本书曾被评为20世纪顶尖的30部计算机著作之一,作者Mark Allen Weiss在数据结构和算法分析方面卓有建树.他的数据结构和算法分析的著作尤其畅销,并受到广泛好评.已被世界500余所大学用作教材. adMn ,(!#
---------------------------------------------------------------- 6 uB Ohb{Y
4.Concrete Mathematics A Foundation for Computer Science(Second Edition) & f ] vP
) 6 $ m B
7. .5 Y/lI
Author:Donald.E.Knuth&Ronald L.Graham t Z c=ku
Web site: Py~ tdOs]
http://www-cs-faculty.stanford.edu/~knuth/gkp.html W 3 K kV:^
;J <#gqb O
Amazon Reviews: $P 6{?D Zy
Amazon.com + K 'U tZ
~nx+FClL(
Book Info: 很令人兴奋的就是这本书的主要作者正是泰斗Donald.E.Knuth以及他的同事Ronald L.Graham.书稿是他们在1970年的时候在计算机系教授研究生本门课程的基础上整理出来的教材.内容上是Knuth的巨著TAOCP第一部的扩展,有些比TAOCP中谈及地又深入了许多.重点放在高级计算机程序设计话题以及算法分析上,涉及了计算机科学领域内几乎所有可能遇到的数学知识.具体数学是离散数学和连续数学的综合,书中这点做得极为出色,介绍的内容涉及到书中许多经典问题的解答比目前广泛流传的解法更易懂.对于提高大家的计算数学修养有很大帮助.之所以TAOCP有的时候读者们读不懂就是因为计算数学基础不是十分扎实,但以我个人经验,若能对本书中内容有一个比较好的理解,会给你阅读如TAOCP这样的旷世巨著带来很大的方便. 9Xa<7zEbJ
---------------------------------------------------------------- 4W , ^i `o
5.Discrete Mathematics and Its Applications,Fourth Edition (3S)blt
[| V iSs M
N+/38 Xvft
Author:Kenneth H.Rosen qM"={C
Amazon Reviews: Q :~sq$w@
Amazon.com '4 ey( R
[- A6;~ Y
Book Info: 本书的价值已经被全世界几百所大学所证实,作为离散数学领域的经典教材,全世界几乎所有知名的院校都曾经使用本书作为教材.以我个人观点看来,这本书可以称之为离散数学百科.书中不但介绍了离散数学的理论和方法,还有丰富的历史资料和相关学习网站资源.更为令人激动的便是这本书少有的将离散数学理论与应用结合得如此的好.你可以看到离散数学理论在逻辑电路,程序设计,商业和互联网等诸多领域的应用实例.本书的英文版(第五版)当中更增添了相当多的数学和计算机科学家的传记,是计算机科学历史不可多得的参考资料.作为教材这本书配有相当数量的练习.每一章后面还有一组课题,把学生已经学到的计算和离散数学的内容结合在一起进行训练.这本书也是我个人在学习离散数学时读的唯一的英文教材,实为一本值得推荐的好书. B' jsR=a
---------------------------------------------------------------- Q F8?'e/ z
6.The C Programming Language 2nd Edition q pCaZ
z/: o_ c
(x#") f q
Author:Brian W.Kernighan and Dennis M.Ritchie 3r;=Cx> vS
Publisher:Prentice Hall ~ <M9 @3
Published: 1988. +*+9vD n
Page:294 =? 'CTLr
Amazon Reviews: W "O4L#A Q
Amazon.com RTqkr YfaI
C~J%EXC4-'
Book Info: Brian W.Kernighan和Dennis M.Ritchie的传世之作.千千万万程序员和编程爱好者的圣经,每一页都是价值连城的秘诀.不管你从哪一页信手翻起,最终你都会发现自己已经深陷其中而不能自拔. K>> /5J =
---------------------------------------------------------------- C | '
7.The C++ Programming Language /Qc(->@
ln|| xA
6]4GrQ{~ :
Author:Bjarne Stroustrap .Vaq/?ux v
Amazon Reviews: /2z1A~'
Amazon.com Cw -C$ O
w x56D7 "t
Book Info: 由C++之父亲手执笔的>是每个程序员心目中不可动摇的指南-----尽管官方标准还是ISO颁布的另一份文档,由ISO/IEC JTC1/SC22/WG21出版.TCPL是除了C++标准文献之外最权威的C++参考手册.和大多数人的看法不大一样,我认为Bjarne的文字语言并不逊色于他所创建的程序语言,至少我喜欢这种学院气息浓厚的作品.本书对C++语言的描述轮廓鲜明,直截了当.它从C++语言创建者的角度来观察C++,这是任何别的作者和书籍做不到的----没有任何人比Bjarne自己更清楚该怎么来使用C++. UW' 8y
这是一本严肃的著作,以中,高级C++开发人员为目标读者.如果你是一名有经验的C++程序员,需要了解更加本质的C++知识,本书正是为你而写.它不是那种让你看了会不断窃喜的小书,需要用心体会,反复咀嚼.在阅读过程中,请特别留心Bjarne先生强调了什么,又对什么一语带过.我个人比较喜欢这本书的第四部分"使用C++做设计",这样的内容在类似的程序设计语言书籍中很难看到----我甚至认为Bjarne应该将这部分独立出来单独写一本书. .~ $/{69|2
---------------------------------------------------------------- K %{F A G
8.The Design and Evolution of C++ 4*v%Wgv -^
bk_C?s
b{?r fu g
Author: Bjarne Stroustrup o;3# / dt
Amazon Reviews: `@ I?dE;wz
Amazon.com & @@ !,
G eg^?Gvkg
Book Info: D&E是一本关于C++语言设计原理,设计决策和设计哲学的专著.它清晰地回答了C++为什么会成为今天这个样子而没有变成另外一种语言.作为C++语言的创建者,Bjarne淋漓尽致地展示了他独到而深刻的见解.除了广受赞誉的语言特性外,Bjarne没有回避那些引起争议的甚至被拒绝的C++特性,他一一给出了逻辑严密,令人信服的解释.内容涵盖C++的史前时代,带类的C,C++的设计规则,标准化,库,内存管理,多重继承,模板等,对包括异常机制,运行时类型信息和名字空间在内的重要的新特性都分别进行了深入探讨.每一名C++程序员都应该可以从Bjarne的阐释中加深对手中这门语言的认识.这本书知识浓缩,信息量极大,请不要错过Bjarne每一句看似漫不经意的话. `> Xs8 D
---------------------------------------------------------------- 4;P g N^v
9.Accelerated C++: Practical Programming by Example D'#}Z Tw?N
H5 0 /%:)T
" ] P
Author: Andrew Koenig, Barbara E.Moo );` k s r
Publisher: Addison-Wesley Professional aA vLJ`vO
Published: January 15, 2000 h4 = /1W>
Amazon Reviews: /1B-#X}:i
Amazon.com MSxC#2ypC
pB`#=S%]&K
Book Info: 和市面上大多数C++教程不同,本书不是从"C++中的C"开始讲解,而是始于地道的C++特性.从一开始就使用标准库来写程序,随着讲述的逐渐深入,又一一解释这些标准库组件所依赖的基础概念.另外,和其他C++教材不同的是,这本书以实例拉动语言和标准库的讲解,对后两者的讲解是为了给实例程序提供支持,而不是像绝大多数C++教材那样,例子只是用作演示语言特性和标准库用法的辅助工具. 3 Y s` 3X
作者在C++领域的编程实践,教育培训以及技术写作方面都是世界一流水准.我喜欢这种大量使用标准库和C++语言原生特性的清新的写作风格.在这本教材面前,几乎迄今为止的所有C++教材都黯然失色或显得过时.尽管这本教材也许对于国内的高校教育来说有些前卫,不过我仍然极力向我的同行们推荐.顺带一提,在Bjarne和我最近的一封通信里,他这样评价本书:对于有经验的程序员学习C++而言,这本书可能是世界上最好的一本. "{ Q 1 z4
---------------------------------------------------------------- 2K o3 .
10.C++ Gotchas: Avoiding Common Problems in Coding and Design <# v{MYDWb
4x/0 'v
nM q / X
Author: Stephen C.Dewhurst e90]2^?58
Publisher: Addison-Wesley Professional; 1st edition (November 26, 2002) 9=ztl
Amazon Reviews: 6 2! _TU>Y
Amazon.com & U,o 5 va
$ : HioF
Book Info: Stephen的理论素养和实践经验注定这是一本值得一读的好书.Stephen曾经是贝尔实验室中第一批C++使用者.他已经使用C++成功解决了包括编译器,证券交易,电子商务以及嵌入式系统等领域中的问题.本书汇集了作者来自开发一线的99条编程真知灼见,洞悉它们,你可以避免几乎所有常见的C++设计和编程问题. zC 63+ 3
我甚至认为,对于C++编程菜鸟而言,阅读这本书会比阅读Scott和Herb的书更能轻松而立竿见影地获得更大的提高.我个人很喜欢这本书的写作风格----Stephen的许多观点看似极端却无可辩驳.当然了,这种自信(以及冷幽默)来自于作者深厚的技术素养,而非自大的偏执. { wkF Q