第一图书网

编程珠玑(续)

[美] Jon Bentley 人民邮电出版社
出版时间:

2011-5  

出版社:

人民邮电出版社  

作者:

[美] Jon Bentley  

译者:

钱丽艳,刘田 等  

Tag标签:

无  

内容概要

  多年以来,当程序员们推选出最心爱的计算机图书时,《编程珠玑》总是位于前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon
Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,发表在《ACM通讯》最受欢迎的专栏中,最终结集为两部不朽的计算机科学经典名著,影响和激励着一代又一代程序员和计算机科学工作者。本书为续集,秉承了《编程珠玑》的风格,但涉及的主题更广,包括文档、小语言、性能监视、图形输出等。
  作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了计算机大师们在探索解决方案过程中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富有创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。每章后所附习题极具挑战性和启发性,书末给出了简洁的解答。

作者简介

  Jon Bentley 世界著名计算机科学家,被誉为影响算法发展的十位大师之一。他先后任职于卡内基-梅隆大学(1976~1982)、贝尔实验室(1982~2001)和 Avaya实验室(2001年至今)。在卡内基-梅隆大学担任教授期间,他培养了包括Tcl语言设计者John Ousterhout、Java语言设计者James Gosling、《算法导论》作者之一Charles Leiserson在内的许多计算机科学大家。2004年荣获Dr. Dobb’s程序设计卓越奖。  钱丽艳 北京大学信息科学技术学院基础实验教学研究所软件实验室主任、高级工程师,毕业于国防科技大学,目前主要从事数值计算、程序设计等方面的研究工作。

书籍目录

第一部分 编 程 技 术
 第1 章 性能监视工具    
  1.1 计算素数    
  1.2 使用性能监视工具    
  1.3 专用的性能监视工具    
  1.4 开发性能监视工具    
  1.5 原理    
  1.6 习题    
  1.7 深入阅读    
 第2 章 关联数组    
  2.1 Awk 中的关联数组    
  2.2 有穷状态机模拟器    
  2.3 拓扑排序    
  2.4 原理    
  2.5 习题    
  2.6 深入阅读    
 第3 章 程序员的忏悔    
  3.1 二分搜索    
  3.2 选择算法    
  3.3 子程序库    
  3.4 原理    
  3.5 习题    
 第4 章 自描述数据    
  4.1 名字—值对    
  4.2 记录来历    
  4.3 排序实验    
  4.4 原理    
  4.5 习题    
第二部分 实 用 技 巧
 第5 章 劈开戈尔迪之结
  5.1 小测验    
  5.2 解答    
  5.3 提示    
  5.4 原理    
  5.5 习题    
  5.6 深入阅读    
  5.7 调试(边栏)     
 第6 章 计算机科学箴言集
  6.1 编码    
  6.2 用户界面    
  6.3 调试    
  6.4 性能    
  6.5 文档    
  6.6 软件管理    
  6.7 其他    
  6.8 原理    
  6.9 习题    
  6.10 深入阅读    
 第7 章 粗略估算    
  7.1 头脑热身    
  7.2 性能的经验法则    
  7.3 Little 定律    
  7.4 原理    
  7.5 习题    
  7.6 深入阅读    
  7.7 日常速算(边栏)    
 第8 章 人员备忘录    
  8.1 备忘录    
  8.2 原理    
  8.3 深入阅读    
第三部分 人性化I/O
 第9 章 小语言    
  9.1 Pic 语言    
  9.2 视角    
  9.3 Pic 预处理器    
  9.4 用来实现Pic 的小语言
  9.5 原理    
  9.6 习题    
  9.7 深入阅读    
 第10 章 文档设计    
  10.1 表格    
  10.2 三条设计原则    
  10.3 插图    
  10.4 文本    
  10.5 合适的媒介    
  10.6 原理    
  10.7 习题    
  10.8 深入阅读    
  10.9 次要问题目录(边栏)
 第11 章 图形化输出    
  11.1 实例研究    
  11.2 显示结果取样    
  11.3 原理    
  11.4 习题    
  11.5 深入阅读    
  11.6 拿破仑远征莫斯科(边栏)
 第12 章 对调查的研究
  12.1 有关民意调查的问题
  12.2 语言    
  12.3 图片    
  12.4 原理    
  12.5 习题    
第四部分 算 法
 第13 章 绝妙的取样    
  13.1 取样算法一瞥    
  13.2 Floyd 算法    
  13.3 随机排列    
  13.4 原理    
  13.5 习题    
  13.6 深入阅读    
 第14 章 编写数值计算程序
  14.1 问题    
  14.2 牛顿迭代    
  14.3 良好的起点    
  14.4 代码    
  14.5 原理    
  14.6 习题    
  14.7 深入阅读    
  14.8 数值算法的力量(边栏)
 第15 章 选择    
  15.1 问题    
  15.2 程序    
  15.3 运行时间分析    
  15.4 原理    
  15.5 习题    
  15.6 深入阅读    
附录A C 和Awk 语言    
附录B 子程序库    
部分习题答案    
索引        
  
  

章节摘录

  然后我跑回我的终端前,很兴奋地看到这次二分搜索成功地通过了n从1到9的测试。然而当n=10的时候,程序再次失败了,我的心都快碎了。那个时候,bign=10。我实在想不出为什么程序会在n-10的时候失败,又按照bign=9和bign=11各运行了一次,希望问题的产生是因为那是最后一次测试。不幸的是,代码总是一直到9都能正确运行,然后运行10或者11就会出错。从9到10,到底出了什么问题?  Awk变量既可以是数值,也可以是字符串。Awk的说明书中说,如果比较的双方都是数值,那么就按照数值比较的规则来比较,否则就按照字符串的规则来比较。由于这个程序涉及函数调用的特殊情况,解释器误认为字符串“10”先于字符串“5”。我写了6行的小程序捕捉到了这个错误,Kernighan在次日解决了这个问题。  3.4原理  本章触及了程序员日常工作中的一些常见任务。它们可能不是那么吸引人,但是绝对很重要。  脚手架。本章介绍了程序原型、在程序中加入输出以观察运行过程、度量代码以及组件测试等方法。其他的脚手架方法还有测试数据(虚拟的文件和数据结构)以及使用“残桩”代码模拟未完成的程序从而方便自顶向下的测试。  专用语言。合适的编程语言可以使代码的长度减少一个量级,清晰程度上升一个量级。请大家自己发掘各语言的优势和特性。Awk是一种构造算法原型的极好的语言:其内建的关联数组可以使你模拟许多常用的数据结构,它的字段、隐式循环、模式一动作对等设计极大地简化了输入输出过程,隐式的变量声明和初始化也使得程序更加简洁。AWK Programming Language一书(见2.6节)的第7章中还有关于用Awk进行算法实验的更多资料。13.2节和答案14.6给出了两个小型算法中应用的Awk脚手架。  测试与调试。本章专注于测试和调试小的程序。先用白盒测试的方法观察程序是否按照我们预想的方法运行,然后再用黑盒测试来增加自己对于程序正确性的信心。错误报告。对于子程序库的组件测试不经意间变成了对于Awk最近新引入特性的一次系统测试。Kernighan把这种现象称作“新用户现象”:新系统的每一个新用户都能够发现一系列的新错误。相比于之前的用户,我对函数的钻研更深。在这个300行的程序两次遇到Awk的错误时,我都是先用一段小的程序(一个是15行,一个只有6行)重现这一奇异的现象,然后才报告错误的。贝尔通信研究院的Stu Feldman这样描述他多年来维护一个Fortran编译器的经验:  当你在错误报告附上25000行代码的时候,无论是程序作者、支持机构还是你的朋  友,都会选择无视你的报告。我花了几年时间来教会他这一点(为了保护当事人,把姓名隐去了)。采用的技术包括凝视代码、发挥直觉、用二分法(试着扔掉子程序的后半部分)等等。如果你发现了一个错误,请使用最小的测试用例来报告它。  程序验证的角色。为了保证自己的程序是正确的,我会使用任何可用的方法。非正式的验证方法可以帮助我编写代码,并在实现前就检验我的想法,一旦实现了代码,测试就变成了最关键的问题。我在程序验证方面有了些经验后,再也不会对于一个复杂的小程序第一次运行就正常工作而感到惊讶。如果程序不能工作,我会通过测试和调试的方法找到没有被满足的断言,并修改相应的代码。  ……

媒体关注与评论

  《编程珠玑》是对我职业生涯影响最大的书之一,其中的许多真知灼见多年之后仍然使我受益匪浅。Jon在《编程珠玑(续)》中组织了更多素材,诸多内容让我耳目一新。”  ——Steve McConnell,软件工程大师,IEEE Software前主编,《代码大全》作者  “对每一位遇到的程序员,我都会毫不迟疑地建议他阅读并不断重读这部经典之作。”  ——Slashdot


编辑推荐

  经久不衰的计算机科学名著!  集深邃思想、实战技术与趣味轶事于一册!  领略计算机科学之美!

图书封面

图书标签Tags

广告

下载页面


编程珠玑(续) PDF格式下载



本书算是编程珠玑的续集吧,因为喜欢编程珠玑第二版而购买本书,发现内容也是非常不错,如果阅读时能够边读边想,然后边想边做,这样就更加好了!!推荐!!


算法类的图书,很经典,延续《编程珠玑》的风格


作为大名鼎鼎《编程珠玑》的续,质量应该不错


编程珠玑的续集,质量应该不错。


之前看过编程珠玑,这次出2了肯定要买回来,只是大概扫了下,估计真正读完并消化需要一些时间。


书不错,但是没有编程珠玑一好


延续了编程珠玑的特点,值得一读


做为编程珠玑的续篇内容应该是非常不错的


能够从大师那些学习到一些技巧和经验,受益匪浅。其实这本书不仅仅描述算法,还涉及到很多编程的思路和技巧。


相比计算机书籍习惯性的几百页这个厚度,这本书很薄。但应了那句话,浓缩就是精华。


值得每个程序员一看


看了第一本来买续了


这本续还没来得及看。


正在阅读中,太经典了这本书,算法圣经呀。


经典神书 学过算法的必备啊


这本书不但可以提高我们编写小程序的技巧,而且可以强化逻辑思维能力,相信经过这本书的洗礼,读者可以在程序编写的能力上有所提高!


啊哈!算法,经典


续集也不错


基于模糊聚类分析的电力客户信用评价算法_李频


算法的好书


程序猿值得一看的书,受益匪浅


内容自不必说,20年的经典著作。书是正版,印刷很正,双十一打折买的,很划算,快递也很快,很满意。就是书被压皱了,很不爽。


还没准备看,但是有好多推荐了这本。先买来,看什么时候拿出来看看。


好书,收益匪浅哈。强烈推荐


经典延续,赞这本书


五星图书无需多言速速入手静心学习


内容很实用,暂时看不太懂。慢慢研读


一次买了很多,质量很好,内容更经典


经典不多谈了


经典的延续,IT从业人员必读。


需要反复地读才可以理解作者的各种周密考虑。。


书很不错,非常适合初学者学习,书的质量也非常不错!


这是一本很不错的书,质量不错,纸张很舒服。


包装很好,纸质的质量也很好,非常的喜欢这本书,受益良多


这本书要慢读,不要图块


很多公司的笔试面试题都从这里出,而且这本书真的很好呢!!!!


还没看,一概很不错!!的!!1


和前一半一样,很好的内容,做这行的看了肯定没坏处。


帮老弟买的 应该不错


技巧性的东西讲得比较多


当当真是给力,昨天定的今天到,晚上10点多收到发货邮件,当当的员工们,你们辛苦了... 包装还没拆,就直接上来评论,相信当当,绝对正版


好高深~~


这个就是《编程珠玑II》


是本经典的书是本经典的书


书如其名,经典


很有见地,文字轻巧却不乏教导意义,高手之作


这套书,整体都不错,无论是前篇还是续篇


书是不错,但是篇幅有限,内容还是不够充实


书有些显旧,有折痕,不过还好啦


书是好书,这没的说,但是本来在当当买书就是图个正版,但是还破损——我还不如去街边摊买个盗版


书质量不错, 比较薄, 可以启发思维


还没看,大家评价很好的一本书,就买了


内容很充实,对开拓思路很有帮助


用得上的好书,不过还没来及看


很好,能够让思维扩展


正本的补充


还没看,但是感觉应该是不错的


开了眼界,翻译质量太差


一本好书 要好好看了


好书,建议收藏


内容不及第一版好


物流态度差,书本表皮损害严重,很不爽的购物体验。


这是续集,应该不错,还没看,听说很不错。


书是不错,因为是一次买了好几本书,就这本书封面都是划痕一点都不像新的,好在不影响阅读就不退货了


不知到是不是中文版的原因,发现没有英文版的《programming pearl》第一版读起来那么醍醐灌顶。二更偏重软件开发流程中的最佳实践(比如测试分析等),范围相对比较宽泛。总之跟一读起来的味道截然不同。


asdasdasdas


打算好好拜读


感觉没一好。


《编程珠玑》很喜欢,相当多的东西开拓了思路。看到《续》毫不犹豫就买了,对比起来,实在差太多。内容不丰富,还整了几章的awk。尤其是惊艳的感觉是啥都没有,失望无比....


跟《编程珠玑》的内容没得比。。


这是正版书吗???


好的程序员都应该拜读增加一下对配送公司的投诉,书有很明显的人为磨损痕迹,请提高合作配送公司送货人员的素质!


1. 以前叫做《编程珠玑II》,不知道这次为什变成《续》了,不过价格比以前便宜了不少,给力。2. 《编程珠玑》是先用awk写,后面改成c出版了第二版,而这一本书依然主要是用awk语言写成了。但从没有用c出版过第二版。而且书中一直致力于推荐awk,估计永远期待不到c的第二版的了。


慢慢看,很多人都推荐这本书


这本书的确讲了很多有用的技巧


书很好,装订很差劲,封皮有褶皱啊,裁剪的非常不好,中间有一小沓突出来了……已经换过一本了,封皮好点了, 懒得换了……没法上传图片 要不就拍照让大家看一下了,真不像正版书


非常有用,绝对的编程结晶。


大师的书值得一看大师的书值得一看


已经在阅读,值得购买,评价有点晚了


编程珠玑一共有两本,我都买了,之所以买是因为看到网上一边倒的说好,结果到手翻了一段时间,实在是没有信心继续看下去,书中的内容对于我一个5年的程序员来说感觉都有些深奥了,不少地方翻译得也非常不好,看半天不知道作者想表达什么意思,本来内容就深奥,加上翻译差,我基本上是没有信心把这两本书看完,唯一值得安慰的是这两本书都是活动期间4.9折买的,价格算是很实惠了,先放一... 阅读更多


非常好的一本算法书,开阔了不少思路可惜介绍的有些少!


经典书籍,不多说,计算机专业必读


第一本就是好书书,正在慢慢看


正在看,不错。该好生学习下咯


好书的续集


相关图书