
计算机必读的44本经典.pdf
17页中文名称 :计算机科学经典著作英文名称 :Computer Science 版本:简介:1.The Art of Computer Programmin Author: Donald.E.Knuth Book Info: 这部书被誉为20 世纪最重要的20 部著作之一 ,与 Einstein 的“相对论 “并列,是计算机科学领域的权威著作.全书共分7 卷,目前已经出版了3 卷,被誉为 “计算机程序设计理论的荷马史诗“,“可与牛顿的 >媲美的巨著 “.作者数学方面的功底造就了本书严谨的风格,虽然本书不是用当今流行的程序设计语言描述的,但这丝毫不损伤它 “程序设计史诗 “的地位 .道理很简单 ,它内涵的设计思想是永远不会过时的.The Art of Computer Programming 原计划要出七册,但目前只完成了三册.该书有日文 ,俄文 ,西班牙文等许多国的版本.其中 ,中文版由国防大学出版社发行.无数的读者都在谈论Knuth 的书所带来的深远影响.科学家惊叹于分析逻辑之透彻严谨,而普通的编程人员也已成功地将书中所列方案运用到他们的日常问题中.所有的人都非常赞赏Knuth 在这套书中所表现的精确与风趣 ,并为其明确性与涉及面之广而感到欣喜. 我无法向你表达这套书在学习和创造性方面所带给我的兴奋与激动,我已经将它们带入了我的生活 ,就像我的汽车,饭馆 ,工作 ,家庭,, 无所不在----Charles Long无论你的背景怎样,如果你正在进行复杂的计算机编程,你就应该阅读本套书中的每本书,来补充你的专业知识.当一个问题难以解决,而必须使用Knuth 的这套书来解决时,总是一件令人愉快的事情.我发现在计算机方面使用它们会有惊人的效果.----Jonathan Laventhol如果你认为你是一名真正优秀的程序员,, 读Knuth 的>,如果你能读懂整套书的话,请给我发一份你的简历.----Bill Gates The Art of Computer Programming, V olume 1: Fundamental Algorithms (3rd Edition) Book Info: 卷 1 为基础运算法则,该书以基本的编程概念和技术为开始,然后讲述信息结构--计算机内信息的表示法,数据元素间的结构关系以及处理它们的有效方法.主要应用于模拟,数字方法 ,符号计算 ,软件和系统设计.许多简单和重要的运算法则和技术已添加到前一版本中 ,精确的初步计算部分已经修改,以适应当前趋势. The Art of Computer Programming, V olume 2: Seminumerical Algorithms(3rd Edition) Book Info: 第 2 卷对半数值算法领域做了全面介绍,分“随机数 “和“算术 “两章 .本卷总结了主要算法范例及这些算法的基本理论,广泛剖析了计算机程序设计与数值分析间的相互联系.第 3 版中特别值得注意的是Knuth 对随机数生成程序的重新处理和对形式幂级数计算的讨论. The Art of Computer Programming, V olume 3: Sorting and Searching (2nd Edition) Book Info: 卷 3 为分拣和搜索 ,这是本书的第1个修订版 ,它是对计算机分拣和搜索的一流技术的最全面的研究,它扩展了卷1 中数据结构的处理方法,将大小数据库以及内存和外部存储都包含在内.本书包括对计算机方法仔细检查的选择方案,和其效率的大量分析.本书该版的独特之处在于优化了的分拣,以及对通用散列法和排列法的新的理论论述. 作者简介 :Donald.E.Knuth( 唐纳德 .E.克努特 ,中文名高德纳)是算法和程序设计技术的先驱者 ,是计算机排版系统TeX 和 METAFONT的发明者 ,他因这些成就和大量创造性的影响深远的著作 (19 部书和 160 篇论文 )而誉满全球 ,在计算机科学领域享有崇高的威望,是计算机科学界公认的大宗师 .作为斯坦福大学计算机程序设计艺术的荣誉退休教授,他当前正全神贯注于完成其关于计算机科学的史诗性的七卷集.这一伟大工程在1962 年他还是加利福尼亚理工学院的研究生时就开始了.Knuth 教授获得了许多奖项和荣誉,包括美国计算机协会图灵奖(AC M Turing Award), 美国前总统卡特授予的科学金奖(Medal of Science), 美国数学学会斯蒂尔奖 (AMS Steele Prize), 以及 1996 年 11 月由于发明先进技术荣获的极受尊重的京都奖(Ky otoPrize).现与其妻Jill 生活于斯坦福校园内.Donald.E.Knuth 人生最辉煌的时刻在斯坦福大学计算机系渡过,获得了美国计算机协会图灵奖,成为本领域内当之无愧的泰斗。
2.Introduction to Algorithms Author:Thomas H.Cormen ,Charles E.Leiserson ,Ronald L.Rivest ,Clifford Stein Book Info: 简称为 CLRS 的“算法导论 “,被称作 “计算机算法的圣经“. 本书的主要作者来自麻省理工大学计算机,作者之一Ronald L.Rivest 由于其在公开秘钥密码算法RSA 上的贡献获得了图灵奖,目前是算法的标准教材,美国许多名校的计算机系都使用它,国内有些院校也将本书作为算法课程的教材.另外许多专业人员也经常引用它.由于 TAO CP只出版了 3卷,CLRS 比较起前者来则显得内容更为全面,基本包含了所有的经典算法.本书程序全部由伪代码实现,这更增添了本书的通用性,使得利用各种程序设计语言的程序员都可以作为参考 .语言方面通俗,很适合作为算法教材和自学算法之用.国内的很多作品名为数据结构 ,从本书中断章取义,把数据结构与算法混为一谈,搞得作者自己都迷迷糊糊.这也是我不十分愿意向大家推荐国内作品的原因.你会发现现在基本上所有的数据结构与算法书籍都会将本书作为参考文献之一,更可以说明一个问题,本书是作为读者进行算法学习的最佳选择 .作为本书的补充内容,我愿意向大家推荐下面的学习资料:你可以通过这个地址找到本书的所有练习答案:http://www.itu.dk/people/beetle/ 为了更好的学习本书中的内容,最好的指导当然是来自作者本身讲述本书的课程,读者们可以通过 http://18.89.1.101/sma/5503fall2001/index5503fall2001.html获得课程的录像3.Data Structure , 那你可以发现,你在众人中已经是鸡群之鹤.如果说 “Effect ive C++“ 主要讨论C++中一些相对基础的概念和技巧的话,那么 “More Effective C++“ 则着重探讨了包括异常处理在内的一系列高级技术.与前者相比 ,后者具有两大主要区别:其一 , 它包含很多时新的标准C++的内容 ;第二 ,它讨论的主题倾向于“战略化 “而非 “战术化 “,并且讨论得更深入 ,更彻底 .尤其是对虚析构函数,智能指针 ,引用计数以及代理类(proxy class e)等技术和模式论述的深入程度,让人很难想象是出现于这样的一本小书之中. 14.Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions Author: Herb Sutter Book Info: 你自认为是一名C++语言专家吗 ?读一读 ISO C++标准委员会秘书长的这两本书再回答 .在这两本书中 ,Herb 采用了 “问答 “的方式指导你学习C++语言特性 .对于每一个专题,Herb 首先合理地设想出你的疑问和困惑,接着又猜测出你十有八九是错误的解答,然后给你以指点并提出最佳解决方案,最后还归纳出解决类似问题的普适性原则.这两本书是典型的深究C++语言细节的著作,很薄 ,但内容密集 ,远远超过Scott 的那两本书 ,读起来很费脑筋 ----我个人认为它们要比Scott 的书难懂得多 .若要研习这薄薄的两本书所包含的知识 ,至少需要花费数月的时间!(在 Scott 的荐序中 ,他坦陈不止一次陷入GotW 问题的陷阱 , 你应该知道这意味着什么)对于语言细节的深究有什么好处呢?尽管在大多数情况下,我们不必关心 C++代码幕后的动作,然而当我们不得不关心时,这两本书可以为我们提供很好的线索,因为它们揭示了C++语言中微妙而又至关重要的东西. 15.Modern C++ Design: Generic Programming and Design Patterns Applied Author: Andrei Alexandrescu Book Info: 你自认为是C++模板编程高手吗?请看过这本书再回答. 这是一本出自天才之手令人敬畏的杰作.泛型模式 ,无限延伸你的视野 ,足以挑战任何一名C++程序员的思维极限.这本书共分为两大部分, 第一部分讨论了Loki 程序库采用的基础技术以及一些高级语言特性,包括基于策略的类设计,模板局部特化 ,编译期断言 ,Typelist 以及小型对象分配技术等.第二部分则着重介绍了Lo ki 中的重要组件和泛型模式技术,包括泛化仿函数(Generalization Functor), 单件 (Singl eton),智能指针 ,对象工厂 (Object Factory), 抽象工厂 (Abstract Factory), 访问者 (Visi tor)以及多方法 (Multimethods) 等.每一种技术都让人大开眼界,叹为观止 . 16.C++ Templates: The Complete Guide Author: David Vandevoorde, Nicolai M.Josuttis Book Info: 有一种老套的赞美一本书的手法, 大致是 “没有看过这本书,你就怎么怎么地“,这里面往往夸张的成分居多.不过 ,倘若说 “没有看过 “C++ Templates: The Complete Guide“, 你就不可能精通C++模板编程 “,那么这个论断对于世界上绝大多数C++程序员来说是成立的.这本书填补了C++模板书籍领域由来已久的空白 .此前 ,上有 “Modern C++ Design“ 这样的专注于模板高级编程技术和泛型模式的著作 ,下有 “The C++ Standard Library“ 这样的针对特定模板框架和组件的使用指南.然而,假如对模板机制缺乏深入的理解,你就很难 “上下 “自如 .鉴于此 ,我向每一位渴望透彻理解 C++模板技术的朋友推荐这本书. 17.The C++ Standard Library: A Tutorial and Reference Author: Nicolai M. Josuttis Book Info: 这是一本百科全书式的C++标准库著作 ,是一本需要一再查阅的参考大全.它在完备性 ,细致性以及精确性方面都是无与伦比的.本书详细介绍了每一标准库组件的规格和用法 ,内容涵盖包括流和本地化在内的整个标准库而不仅仅是STL.正如本书副标题所示,它首先适合作为教程阅读,尔后又可用作参考手册.浅显易懂的写作风格使得这本书非常易读.如果你希望学习标准库的用法并尽可能地发挥其潜能,那你必须拥有这本书.正如网络上所言,这本书不仅仅应该摆在你的书橱中,更应该放到你的电脑桌上.我向每一位职业C++程序员强烈推荐 . 18.Effective C++: 50 Specific Ways to Improve Your Programs and Design (2nd Edition) Author: Scott Meyers Effective STL: 50 Specific Ways to Improve Your Use of the。












