猫猫书房 - 书籍大全 - 编程珠矶(第2版 影印版)
本书资料更新时间:2025-01-29 03:18:01

编程珠矶(第2版 影印版) 电子书 下载 txt pdf mobi

编程珠矶(第2版 影印版)精美图片

编程珠矶(第2版 影印版)书籍详细信息

  • ISBN:9787508322056
  • 作者:本特利 
  • 出版社:中国电力出版社
  • 出版时间:2004-5
  • 页数:239
  • 价格:28.0
  • 纸张:暂无纸张
  • 装帧:暂无装帧
  • 开本:暂无开本
  • 语言:未知
  • 丛书:暂无丛书
  • TAG:暂无
  • 豆瓣评分:暂无豆瓣评分
  • 豆瓣短评:点击查看
  • 豆瓣讨论:点击查看
  • 豆瓣目录:点击查看
  • 读书笔记:点击查看
  • 原文摘录:点击查看
  • 更新时间:2025-01-29 03:18:01

内容简介:

如果让程序员们列出他们最喜欢的书籍,Jon Bentley的《编程珠玑》通常可以位于经典之列,如同珍珠来自于曾经折磨牡蛎的沙粒,程序设计的珍珠也来自曾以折磨程序员的实际问题。Bentley的珍珠建立在坚实的工程学基础上在洞察力和创造力的王国中为那些恼人的问题提供了独特而技巧的解决方案,通过一些精心设计的有趣而且颇具指导意义的程序,本书对众多实用程序设计技巧及基本设计原则作了清晰而机智的描述。因此,《编程珠机》得到各个导次程序员的青睐并不让人感觉意外。


书籍目录:

暂无相关目录,正在全力查找中!


作者介绍:

暂无相关内容,正在全力查找中


出版社信息:

暂无出版社相关信息,正在全力查找中!


书籍摘录:

暂无相关书籍摘录,正在全力查找中!


在线阅读/听书/购买/PDF下载地址:


原文赏析:

位图或位向量表示集合


习题2:如何使用位逻辑运算来实现位向量?


他们估计那些经过极度调优的代码(具有谨慎的寄存器分配和指令选择)的规模只有从高级语言编译过来的等价代码的一半(尽管那时编译器已经有了很大的改进)。紧凑的汇编代码运行起来也非常快。


我错就错在马上回答了这个问题。


程序员的主要问题与其说是技术问题,还不如说是心理问题:他不能解决问题,是因为他企图解决错误的问题。问题的最终解决,是通过打破他的概念壁垒。


Rework repeated code into arrays.

A long stretch of similar code is often best expressed by the simplest of data structures,the array.

Encapsulate complex structures.

When you need a sophisticated data structure,define it in abstract terms,and express those operations as a class.

Use advanced tools when possible.

Hpertext,name-value pairs,spreadsheets,databases,languages and the like are powerful tools within their specialized problem domains.

Let the data structure the program.

The theme of this column is that data can structure a program by replacing complicated code with an appropriate data structure.Although the particulars change,the theme remains:before writing code,good programmers thoroughly understand the input,the output and the intermediate data strutures aroud which theri p...


其它内容:

书籍介绍

如果让程序员们列出他们最喜欢的书籍,Jon Bentley的《编程珠玑》通常可以位于经典之列,如同珍珠来自于曾经折磨牡蛎的沙粒,程序设计的珍珠也来自曾以折磨程序员的实际问题。Bentley的珍珠建立在坚实的工程学基础上在洞察力和创造力的王国中为那些恼人的问题提供了独特而技巧的解决方案,通过一些精心设计的有趣而且颇具指导意义的程序,本书对众多实用程序设计技巧及基本设计原则作了清晰而机智的描述。因此,《编程珠机》得到各个导次程序员的青睐并不让人感觉意外。


精彩短评:

  • 作者: 丸子(^.^)v 发布时间:2011-10-08 23:55:47

    很多章节把knuth的TACP当扩展阅读材料=。= 不解释了……

  • 作者: 陈小奈 发布时间:2011-03-02 15:59:41

    有点难,没做题,收获不太大

  • 作者: Lee 发布时间:2012-08-17 19:54:04

    早该读了


深度书评:

  • 不只是算法

    作者:Jeao&Leon 发布时间:2009-11-12 19:24:02

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

  • 改变了我人生轨迹的计算机科学奇书

    作者:figure9 发布时间:2021-12-29 14:01:33

    2008 年,我还在混 Hi-PDA 论坛时,曾在里面求经典计算机书推荐,然后有个哥们推荐了 编程珠玑。

    我信了,在 卓越 上搞了一本。

    至今,我非常感谢那个哥们。

    从某种程度上说,这本书改变了我人生的轨迹。

    编程珠玑 第二章 啊哈算法 里面讲了三个算法题目,其中有第二题是字符串移位(例如:abcdef → defabc)

    这道题我碰到两次:

    第一次:2010 年考研,计算机专业课,最后一道编程大题(15 分貌似)。

    第二次:2011 年微软实习面试,白板编程题目。

    (这里也可以看出十年前远没有现在这么卷,字符串移位这种题目都能考研进微软)

    编程珠玑是贝尔实验室 Jon Bentley (名字缩写 JB 似乎不雅,还是叫宾利叔高端些)在 ACM 通讯上的程序设计档搞的连载,由于宾利叔既有实力又有文采,编辑决定把这些连载整理成书。这就有了这本程序设计奇书——编程珠玑。

    在可靠的工程之外,在洞察力和创造力范围内结晶而出的编程珠玑。正如自然界中的珍珠来自于磨砺牡蛎的细沙一样,这些编程珠玑来自于磨砺程序员的实际问题。

    之所以说这本书是奇书,因为:

    它既讲算法数据结构,又讲程序优化,还讲编程思想,甚至连程序正确性验证都有涉及。

    书中代码极度优雅,既可读又高效还简洁,在我看过的书里,能和这本书代码匹敌的只有 K&R 的 The C Programming Language 和 STL 之父的 Elements of Programming。

    书非常薄,也就二百来页,能把书写薄的都是狠人。

    下面是我的摘录:

    编程文献和理论中充斥着时间—空间的折中:通过使用更多的时间,可以减少程序所需的空间。例如,答案5中的两趟算法让程序运行时间加倍从而使空间减半。但我的经验常常是这样的:减少程序的空间需求也会减少其运行时间。

    进行程序算法调优时,一般都会使用时空对换(time-space tradeoff):有时用空间换时间,比如缓存;有时有时间换空间,比如编码解码。

    但有时程序之所以慢,是因为使用了错误的数据结构,或者对需求有误解。

    这里举个我在 Facebook 做 Reaction (就是点赞)的例子:

    Android 上性能很差,用户经常挂。

    刚开始准备重新写 Reaction 缓存系统,但还好我抑制住了冲动。

    一顿 code inspection + profiling 之后,我惊奇的发现 Android 本地存储的 Reaction 大的离谱,不到 16dp 的图标,却用了 256x256 的图片。

    改了十来行,效率大幅提升,因为图片变小既降低了网络数据,又减少了 local cache 压力,所以 crash 也少了很多。

    Antoine de Saint-Exupéry是法国作家兼飞机设计师,他曾经说过:“设计者确定其设计已经达到了完美的标准不是不能再增加任何东西,而是不能再减少任何东西。

    代码评审,架构评审,装逼必用。

    在20世纪80年代早期,洛克希德公司加利福尼亚州桑尼维尔市工厂的工程师们每天都要将许多由计算机辅助设计(CAD)系统生成的图纸从工厂送到位于圣克鲁斯市的测试站。虽然仅有40公里远,但使用汽车快递服务每天都需要一个多小时的时间(由于交通阻塞和山路崎岖),花费100美元。请给出新的数据传输方案并估计每一种方案的费用。

    你会想到这帮工程师的解法是

    放鸽子

    么。

    把图纸拍成胶卷然后用信鸽。

    鬼才。

    程序员的主要问题与其说是技术问题,还不如说是心理问题:他不能解决问题,是因为他企图解决错误的问题。问题的最终解决,是通过打破他的概念壁垒,进而去解决一个较简单的问题而实现的。

    参考上面的 放鸽子。

    提供充足的时间,竟然仅有约10%的专业程序员能够将这个小程序编写正确。但是他们不是唯一一批发现这个任务困难的人:Knuth在其The Art of Computer Programming, Volume 3: Sorting and Searching 的6.2.1节的历史部分中指出,虽然第一篇二分搜索论文在1946年就发表了,但是第一个没有错误的二分搜索程序却直到1962年才出现。

    二分搜索写对确实很难。编程珠玑里的正确性验证为我打开了循环不变式的大门。

    对这方面感兴趣的,可以读下 Tony Hoare 的 An Axiomatic Basis for Computer Programming,六页论文,读明白编程水平会提升一大截。

    David Gries所著的Science of Programming 是程序验证领域里极佳的一本入门书籍,该书的平装本由Springer-Verlag出版社于1987年出版。这本书先讲逻辑,进而对程序验证和开发进行了正规的介绍,最后讨论了常见语言的编程问题。本章尝试勾勒出了程序验证的潜在好处;对多数程序员来说,要想高效地使用程序验证技术,唯一的办法就是研读一本类似Gries著作的书。

    The Science of Programming 确实很好,不过有些烧脑,恐怕很少人能读的下去。

    芝加哥的一个银行系统已经正确运行了好几个月,但是第一次用于国际数据就出现了非正常退出。程序员们花费了几天的时间来清理代码,但是他们没有发现任何导致程序退出的错误命令。当他们更深入地观察该现象时,发现当为厄瓜多尔这个国家输入数据时程序出现了非正常退出。更进一步的观察发现,当用户键入其首都的名字基多(Quito)时,程序将其解释为退出请求。

    段子手

    如果仅需要较小的加速,就对效果最佳的层面做改进。 对于效率,大多数程序员都有自己的下意识反应:“改变算法”或“调整排队规则”会脱口而出。决定在某一特定层面着手之前,请先考虑一下所有可能的设计层面,然后选择“性价比”最高的那一个:投入最小的精力就可以获得最大加速系数的那个设计层面。如果需要较大的加速,就对多个层面做改进。

    非常精炼的总结。

    不要着急写代码。

    用现在的话术,就是先找到痛点。

    经验法则 。我最初是在一节会计课上了解到“72法则”的。假设以年利率r %投资一笔钱y 年,金融版本的“72法则”指出,如果r ×y =72,那么你的投资差不多会翻倍。该近似相当精确:以年利率6%投资1 000美元12年,可得到2 012美元;以年利率8%投资1 000美元9年,可得到1999美元。

    72 法则了解下。

    因为John Roebling清楚地知道自己对哪些问题不了解。与设计布鲁克林大桥有关的笔记和信函现在还保存着,这些笔记和信函是优秀工程师了解自己知识局限性的很好的例子。他知道悬索桥有气动上升现象,并且进行了仔细的观察;但他也知道自己不清楚如何为之建模。于是他就将布鲁克林大桥车行道的托架的强度按照基于已知的静态和动态负荷的正常计算结果的6倍设计。此外,他还对延伸到车行道的斜拉网络进行了特别地设计,以加强整座桥的强度。看看这些方法,独一无二。

    优秀的工程师的一个特点,是知道自己的局限性。相比之下一些新人往往会快速的做出一些看似能用但一进 prod 就拉跨的鬼东西出来。

    简单性可以衍生出功能性、健壮性以及速度和空间。Dennis Ritchie和Ken Thompson最初在具有8 192个18位字的机器上开发出了Unix操作系统。他们在关于该系统的论文中说到“在系统及其软件方面,总是存在着相当严重的空间约束。如果同时对合理的效率和强大的能力提出要求,那么空间约束不仅具有经济上的意义,还会使设计更优雅一些。”

    约束能带来更优秀的设计。

    下面就是对程序员的10条建议。

    解决正确的问题。

    探索所有可能的解决方案。

    观察数据。

    使用粗略估算。

    利用对称性。

    利用组件做设计。

    建立原型。

    必要时进行权衡。

    保持简单。

    追求优美。

    这十条建议适用于任何工程环境,甚至是人生决策。

    尽管编程珠玑既有深度,又有广度,但我会推荐任何计算机水平的人去读:

    在校学生可以从前几章学到算法和数据结构的知识

    工程师可以从中学到程序设计理念和代码调优

    营销号可以从中学到各种段子(放鸽子 只是其中一个)

    奇书。满星。

    以上。

    严禁任何形式的搬运,我写书评,一方面记录,一方面分享,不是给营销号抄袭狗带流量。

  • 思考的乐趣

    作者:hcwang 发布时间:2007-12-05 10:57:47

    薄薄的一本书,丝毫无愧于珠玑两个字

    能把书写薄写精的人都是无比厉害的人物,相信看过K&R的<C Progamming Language>的人都有类似的体会

    只要看了第一章,我相信你会对这本书佩服得五体投地。一个简洁的小例子,几个看似简单的算法,实际上包含了很多算法设计的思想.看完第一章,我对数据库的几种外排算法有了更深层次的理解

    本书最大的亮点就是引导你去思考,不停地去思考,思考最佳的解决方案。看本书是一个既痛苦也快乐的历程,痛苦在于你必须竭尽脑汁地去想,运用brain bursting去得出尽可能多尽可能好的方法,快乐在于你提出一个优雅的方案或者对大师的方案拍案叫绝的瞬间

    阅读这本书,一定不要泛泛而读,每一章都值得你用一个月的时间来思考

    不要放过书上任何一个例子任何一个习题,在看答案之前,至少让自己有一天的时间来思考这个问题并得出自己的方案,再去和书上的解决方案比较,才能更深刻地理解这个问题,才能找到自己和大师的差距

    另外,建议还是看英文版吧.其实技术类的英文文章都是很好懂的,绝不会有什么复杂的单词和复杂的句式.从那蹩脚的中文翻译中解脱出来吧,看原汁原味的文章,真的是一种享受

  • 这是一本有可能让我提前掉头发的书

    作者:younghawk 发布时间:2010-07-30 09:50:50

    传说功力不强的人阅读高深的武功秘籍容易伤身甚至走火入魔。看来这本书已经逼近自己的极限。

    不过好消息是挺过这个过程传说功力就能上一甲子。

    我阅读本书的前两章是一个翻过-》退回去-》再翻过的痛苦过程,直到我把所有东西都搞懂。如同前言所说,不要急着看完它,多想想。

    相比某些奇技淫巧华而不实的编程难题,书中列举了许多现实中实实在在的困难需求,以及魔法一般的解决方法。这些方法在我看来是如此帅气,以至于有的我即使看了答案,还要花1天甚至更久的时间来理解(感谢电力出版社那个烂烂烂的翻译)。

    比如这个问题 编程珠玑(第二版)第二章 问题A

    给定一个包含32位整数的顺序文件,它至多包含40亿个这样的整数,并且次序是随机的。请查找一个此文件不存在的32位整数(2^32>40亿,所以必然有遗漏)。内存空间只有上百字节以及若干备用文件的磁盘空间可以使用

    http://www.cs.cmu.edu/afs/cs.cmu.edu/academic/class/15750-s04/www/HW4_sol.txt

    天杀的这答案翻译还翻译错了,我花了一天的时间想了一下,然后看了上面的链接,再想了半天,总算明白了。网上有网友的解释跟代码实现,但我一看,错了。作者明明白白的说明,这个解法,不需要对表进行排序。而网友给出的答案,是对表进行分割,然后分割到小文件可以放进内存以后,进行排序,这不是作者答案的意思。

    我自己还在学习笔记里记下:二分查找法之前需要对表进行排序。现在看了这个问题以后,完全推翻了笔记中的结论。作者之前说明,只要给定一个范围,并且能将这个范围二分,并且保证答案就在这个更小的范围里头,或者原本就不存在就可以了。

    实际的答案意思是(如同大学里某些牛人教授,跳过了关键解题步骤,让我这种一般人情和以堪):算法读取所有记录,将他们分为高位为1,以及高位为0两类放到不同文件里(用低位也可以),这个过程不需要多少工作内存,几十个byte足够。

    ok,书作者没有说清楚的在这里。通过这次分拣,他就知道遗漏的数字在哪一堆,不需要排序。why?因为第32位为1的数字必定有2^31个,算法中必定有个计数器,做完跟2^31比较一下,比它小的话,那么遗漏的数字肯定就在这一堆。

    依次类推,在遗漏数字的这一堆,再二分为31位为1跟31位为0两堆,再二分……

    刚刚发现这个东西,絮絮叨叨写出来作为笔记,高手勿笑,谢谢观看,再见!

  • 思从深而行从简

    作者:interma 发布时间:2009-01-16 14:18:41

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

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

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

    “思从深而行从简”

    一直答应cindy写一篇书评。。。

    这篇算是敷衍了,- -

  • 必读的编程书籍之一

    作者:qinyf 发布时间:2006-12-28 11:38:25

    如果不是因为翻译稍有一点点瑕疵,一定给评分顶级,所以如果可以读懂英文版,更加推荐了。

    这是一本每一页都值得细细去读,每道章后习题都值得认真去思考的书。内容不多,页数不多,但都是很有启发性的东西。如果没有时间(或者胆量:P)去读Knuth的TAOCP,不妨先读一读Programming Peals体会一下,就有兴趣接着读TAOCP啦。:D


书籍真实打分

  • 故事情节:4分

  • 人物塑造:7分

  • 主题深度:9分

  • 文字风格:6分

  • 语言运用:8分

  • 文笔流畅:7分

  • 思想传递:4分

  • 知识深度:8分

  • 知识广度:7分

  • 实用性:7分

  • 章节划分:7分

  • 结构布局:8分

  • 新颖与独特:9分

  • 情感共鸣:3分

  • 引人入胜:5分

  • 现实相关:9分

  • 沉浸感:6分

  • 事实准确性:6分

  • 文化贡献:8分


网站评分

  • 书籍多样性:5分

  • 书籍信息完全性:5分

  • 网站更新速度:3分

  • 使用便利性:3分

  • 书籍清晰度:4分

  • 书籍格式兼容性:4分

  • 是否包含广告:7分

  • 加载速度:8分

  • 安全性:9分

  • 稳定性:9分

  • 搜索功能:7分

  • 下载便捷性:9分


下载点评

  • 赞(149+)
  • 差评少(545+)
  • 速度快(193+)
  • 藏书馆(212+)
  • 体验差(623+)
  • 服务好(418+)
  • 经典(646+)
  • 书籍多(212+)

下载评价

  • 网友 步***青: ( 2025-01-12 06:45:06 )

    。。。。。好

  • 网友 石***烟: ( 2025-01-13 02:39:26 )

    还可以吧,毕竟也是要成本的,付费应该的,更何况下载速度还挺快的

  • 网友 訾***雰: ( 2025-01-20 07:28:38 )

    下载速度很快,我选择的是epub格式

  • 网友 印***文: ( 2025-01-23 18:57:25 )

    我很喜欢这种风格样式。

  • 网友 晏***媛: ( 2025-01-05 03:27:40 )

    够人性化!

  • 网友 堵***洁: ( 2025-01-17 20:26:16 )

    好用,支持

  • 网友 堵***格: ( 2025-01-20 15:44:50 )

    OK,还可以

  • 网友 濮***彤: ( 2025-01-12 13:44:07 )

    好棒啊!图书很全

  • 网友 权***颜: ( 2025-01-27 01:21:11 )

    下载地址、格式选择、下载方式都还挺多的

  • 网友 田***珊: ( 2025-01-10 06:38:30 )

    可以就是有些书搜不到

  • 网友 寿***芳: ( 2025-01-22 10:40:03 )

    可以在线转化哦


最新内容
随机推荐