编程珠玑第2版pdf电子书全文书-编程珠玑第2版pdf在线阅读高清修订版

编程珠玑第2版pdf电子书全文书-编程珠玑第2版pdf在线阅读高清修订版

编辑点评:

计算机科学领域20余年畅销不衰的不朽经典 程序员案头常备的精选书单 融深邃思想 实战技术与趣味轶事于一炉的奇书 带你真正领略计算机科学之美。

编程珠玑第2版pdf在线阅读

编辑推荐语

非常有影响力的计算机科学著作之一 融深邃思想、实战技术与趣味轶事于一炉的奇书 带你真正领略计算机科学之美 多年以来,当让程序员推选喜爱的计算机图书时,《编程珠玑》总是位于前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师乔恩·本特利以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇编程“珠玑”,成为世界计算机界名刊《ACM通讯》历*受欢迎的专栏,*终结集为两部计算机科学经典名著,影响和激励着一代又一代程序员和计算机科学工作者。本书为*卷,主要讨论计算机科学中*本质的问题:如何正确选择和高效地实现算法。 在书中,作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。解决方案的代码均以C/C 语言编写,不仅有趣,而且有很大的实战示范意义。每章后所附习题极具挑战性和启发性,书末给出了简洁的解答。

内容简介

历史上最伟大的计算机科学著作之一

融深邃思想、实战技术与趣味轶事于一炉的奇书

带你真正领略计算机科学之美

多年以来,当程序员们推选出最心爱的计算机图书时,《编程珠玑》总是位于前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上最受欢迎的专栏,最终结集为两部不朽的计算机科学经典名著,影响和激励着一代又一代程序员和计算机科学工作者。本书为第一卷,主要讨论计算机科学中最本质的问题:如何正确选择和高效地实现算法。

在书中,作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。解决方案的代码均以C/C++语言编写,不仅有趣,而且有很大的实战示范意义。每章后所附习题极具挑战性和启发性,书末给出了简洁的解答。

本书是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley 以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书对各个层次的程序员都具有很高的阅读价值。

作者简介

作者简介 乔恩·本特利(Jon Bentley) 世界著名计算机科学家,被誉为影响算法发展的十位大师之一。他先后任职于卡内基-梅隆大学(1976—1982)、贝尔实验室(1982—2001)和Avaya实验室(2001年至今)。在卡内基-梅隆大学担任教授期间,他培养了包括Tcl语言设计者John Ousterhout、Java语言设计者James Gosling、《算法导论》作者之一Charles Leiserson在内的许多计算机科学大家。2004年荣获Dr. Dobb's程序设计卓越奖。 译者简介 黄倩 河海大学计算机科学与技术系主任,曾任联发博动科技(北京)有限公司技术副理,主要从事视频处理、机器学习等方面的研究工作,兼任中国人工智能学会深度学习专委会委员、中国计算机学会多媒体技术专委会委员、中国图象图形学学会多媒体专委会委员等。 钱丽艳 北京大学信息科学技术学院基础实验教学研究所软件实验室主任、高级工程师,毕业于国防科技大学,目前主要从事数值计算、程序设计方面的研究工作。 审校人简介 刘田 北京大学信息科学技术学院计算机系软件研究所副教授,毕业于中国科学技术大学,目前主要从事离散数学、计算机理论方面的教学和研究工作,翻译出版了

编程珠玑第2版pdf预览

编程珠玑第2版pdf电子书全文书-编程珠玑第2版pdf在线阅读高清修订版插图(1)

编程珠玑第2版pdf电子书全文书-编程珠玑第2版pdf在线阅读高清修订版插图(2)

编程珠玑第2版pdf电子书全文书-编程珠玑第2版pdf在线阅读高清修订版插图(3)

编程珠玑第2版pdf电子书全文书-编程珠玑第2版pdf在线阅读高清修订版插图(4)

编程珠玑第2版pdf电子书全文书-编程珠玑第2版pdf在线阅读高清修订版插图(5)

编程珠玑第2版pdf电子书全文书-编程珠玑第2版pdf在线阅读高清修订版插图(6)

编程珠玑第2版pdf电子书全文书-编程珠玑第2版pdf在线阅读高清修订版插图(7)

原文摘录

2.4排序

现在我们来讨论问题C。给定一本英语单词字典(每个输入行是一个由小写字母组成的单词),要求找出所有的变位词分类。研究这个问题可以举出许多理由。首先是技术上的:获得这个问题的解决方案需要既具有正确的视角又能使用正确的工具。

第二个理由更具有说服力:你总不想成为聚会中唯一一个不知道“deposit”、“dopiest”、“posited”和“topside”是变位词的人吧?如果这些理由还嫌不够,可以看一下习题6描述的现实系统中的一个相似的问题。

解决这个问题的许多方法都出奇地低效和复杂。任何一种考虑单词中所有字母的排列的方法都注定了要失败。单词“cholecystoduodenostomy”(我的字典中单词“duodenocholecystostomy”的一个变位词)有22!种排列,少量的乘法运算表明22!

1.124×1021。即使假设以闪电一样的速度每百亿分之一秒执行一种排列,这也要消耗1.1×10°秒。经验法则“x秒就是一个纳世纪”(见7.1节)指出1.1×10°是数十年。

而比较所有单词对的任何方法在我的机器上运行至少要花费一整夜的时间一-在我使用的字典里有大约230000个单词,而即使是一个简单的变位词比较也将花费至少1微秒的时间,因此,总时间估算起来就是230000单词×230000比较/单词×1微秒/比较=52900×1微秒=52900秒*14.7小时你能够找到同时避免上述缺陷的方法吗?

我们获得的啊哈!灵机一动就是标识字典中的每一个词,使得在相同变位词类中的单词具有相同的标识。然后,将所有具有相同标识的单词集中在一起。这将原始的变位词问题简化为两个子问题:选择标识和集中具有相同标识的单词。在进一步阅读之前,先好好想想这些问题。

对第一个问题,我们可以使用基于排序的标识;将单词中的字母按照字母表顺序排列。“deposit”的标识就是“deiopst”,这也是“dopiest”和其他任何在该类中的单词的标识。要解决第二个问题,我们将所有的单词按照其标识的顺序排序。我所知道的关于该算法的最好描述就是Tom Cargill的翻手表示:先用一种方式排序(水平翻手),再用另一种方式排序(垂直翻手)。2.8节描述了该算法的一个实现。

媒体评论

“《编程珠玑》是对我职业生涯早期影响*的书之一,其中的许多真知灼见多年之后仍然使我受益匪浅。” ——Steve McConnell,软件工程大师,IEEE Software前主编,《代码大全》作者

网友评价

05年的时候,同学去华为工作,因为华为需要一段时间的军训洗脑,为了消磨时间,他顺带买了一本《编程珠玑》来研究,当时他和我说:一起来研究算法吧。当时粗略的在网上看了一下,觉得只是把一些常用算法罗列了而已,于是并不在意,也就这么放弃了。 06年的时候,半了一张上海图书馆的借书证,恰巧图书馆里面有这本书的影印版,借回家放了一个多月,但是当时的注意力全都放在了形形色色的palm上面,所以只是很无辜搬到家中,又搬回图书馆。 直到后来,有了自己的窝,购置了书架,并且抱着一个购齐计算机经典书籍的想法,开始在网上到处搜罗书籍的信息,这才发现本书被相当多的人力荐。 打开这颗薄薄的珍珠,认真拜读了前言,记得非常清楚是作者说,一次不要读太多,一章足矣。 再读完第一篇,认真研习其后的练习题,这才发现,原先关于“算法罗列”的主观臆断是多么的错误。 是的,本书的确在强调算法,但是除了常规的算法,作者更多的是在表达出一种算法以外的思想:高效的算法没错,但是正确的事情应该用正确的方法来做。 每个算法都有高效的经典例子,但是什么时候用什么样的算法,探究问题的本质,真正的优雅的解决问题,才是本书所要传达的精神。 此外,值得一提的是书中那些传奇的故事,比如太空笔和铅笔,比如各鸽子和胶卷,类似稗官野史,但是又的确是真实发生的事件,在乐趣中一步步的佐证他的观点。(不得不说,这一点,《代码大全》和《深入理解计算机系统》也一样老道,看得令人赏心悦目)。 古人说的茅塞顿开,醍醐灌顶,确实可以用来描述我在读此书时的感受。

记得第一次看《编程珠玑》还是上学的时候,当时正在准备g的实习申请,在图书馆闲而无事翻到这本小书。之前早已了解《珠》之大名,欣喜之余,2天之内就囫囵吞枣地将其翻完。合卷之时,却有些失落,书中没有讲到什么高深的算法,只是随便说说2分查找,简单dp就能给本书这么崇高的地位?

如今2年多过去了,我已经明白本书是为你展示并启发解决问题该有的一般性思路。使用2分并不重要,为何使用才是功夫,掌握了思维的轨迹才能做到融汇贯通。至于最后问题的解决方法,则是水到渠成的事情了。

用我老大爱说的一句话结束:

“思从深而行从简”

编程珠玑第2版pdf在线阅读截图

编程珠玑第2版pdf电子书全文书-编程珠玑第2版pdf在线阅读高清修订版插图(8)编程珠玑第2版pdf电子书全文书-编程珠玑第2版pdf在线阅读高清修订版插图(9)编程珠玑第2版pdf电子书全文书-编程珠玑第2版pdf在线阅读高清修订版插图(10)编程珠玑第2版pdf电子书全文书-编程珠玑第2版pdf在线阅读高清修订版插图(11)编程珠玑第2版pdf电子书全文书-编程珠玑第2版pdf在线阅读高清修订版插图(12)编程珠玑第2版pdf电子书全文书-编程珠玑第2版pdf在线阅读高清修订版插图(13)编程珠玑第2版pdf电子书全文书-编程珠玑第2版pdf在线阅读高清修订版插图(14)

评分及评论

无用户评分

来评个分数吧

  • 5 分
    0
  • 4 分
    0
  • 3 分
    0
  • 2 分
    0
  • 1 分
    0

Comments