编程珠玑(第2版)

书名:编程珠玑(第2版)
作者:[美]JonBentley
译者:黄倩
ISBN:9787115516282
出版社:人民邮电出版社
出版时间:2019-10
格式:epub/mobi/azw3/pdf
页数:259
豆瓣评分: 9.1

书籍简介:

非常有影响力的计算机科学著作之一, 融深邃思想、实战技术与趣味轶事于一炉的奇书, 带你真正领略计算机科学之美! “《编程珠玑》是对我职业生涯早期影响最大的书之一,其中的许多真知灼见多年之后仍然使我受益匪浅。” ——Steve McConnell,软件工程大师,IEEE Software前主编,《代码大全》作者 ◎编辑推荐 多年以来,当让程序员推选喜爱的计算机图书时,《编程珠玑》总是位于前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师乔恩·本特利以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇编程“珠玑”,成为世界计算机界名刊《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 程序设计卓越奖。

书友短评:

@ knightley 这本书很多人都推荐,学算法必看的一本书,书不厚,内容很经典,深入浅出,满满的都是干货,学完数据结构后,进一步学算法的必读经典之作。 @ Marvin不慌 非常经典的书籍,这一版翻译的还不错,英文版的内容非常经典,希望看了书能学以致用。书不厚,纸张也不大,可以作为手册时常翻翻看看。 @ global 不知道是不是翻译的原因,读的时候不连贯,有点无厘头。好书值得多读几遍,一些算法思想还是很宝贵的。 @ youayou 讲底层数据结构和优化,新手也能看懂 @ 啊啊啊啊领 浏览了一遍,更respect了算法作为一门手艺,和算法沟通的时候,提醒自己1)一起讨论清楚问题的定义,以及问题的量化表达,探讨系统改进的空间 2)后续性能估算、效率评估、调优、空间节约需要留足时间与讨论 @ youayou 讲底层数据结构和优化,新手也能看懂 @ global 不知道是不是翻译的原因,读的时候不连贯,有点无厘头。好书值得多读几遍,一些算法思想还是很宝贵的。 @ 全神贯注 非常不错的小书,与UNIX小而精的哲学很吻合。本书内容简单思想深刻,读起来津津有味,读后回味无穷,非常好的业余读物 @ knightley 2022.6.25-2022.10.6 值得多读几遍的好书。上学时候从图书馆还借过这本书的第一版,可惜的是那时候只翻了几页。现在读完后,才发现日后碰到的一些问题的解决方法就在其中。如果当初早点读完这本书,定能少走很多弯路,节省很多时间。唉,读书要趁早!

书籍目录

第 一部分 基础
第 1章 开 篇 3
1.1 一次友好的对话 3
1.2 准确的问题描述 4
1.3 程序设计 4
1.4 实现概要 6
1.5 原理 7
1.6 习题 8
1.7 深入阅读 9
第 2章 啊哈!算法 11
2.1 三个问题 11
2.2 无处不在的二分搜索 12
2.3 基本操作的威力 14
2.4 排序 16
2.5 原理 17
2.6 习题 18
2.7 深入阅读 20
2.8 变位词程序的实现(边栏) 20
第3章 数据决定程序结构 23
3.1 一个调查程序 23
3.2 格式信函编程 26
3.3 一组示例 28
3.4 结构化数据 29
3.5 用于特殊数据的强大工具 30
3.6 原理 32
3.7 习题 33
3.8 深入阅读 34
第4章 编写正确的程序 37
4.1 二分搜索的挑战 37
4.2 编写程序 38
4.3 理解程序 40
4.4 原理 43
4.5 程序验证的角色 44
4.6 习题 45
4.7 深入阅读 48
第5章 编程小事 49
5.1 从伪代码到C程序 49
5.2 测试工具 51
5.3 断言的艺术 53
5.4 自动测试 55
5.5 计时 56
5.6 完整的程序 58
5.7 原理 59
5.8 习题 59
5.9 深入阅读 61
5.10 调试(边栏) 61
第二部分 性能
第6章 程序性能分析 65
6.1 实例研究 65
6.2 设计层面 67
6.3 原理 69
6.4 习题 69
6.5 深入阅读 70
第7章 粗略估算 71
7.1 基本技巧 72
7.2 性能估计 74
7.3 安全系数 76
7.4 Little定律 78
7.5 原理 79
7.6 习题 79
7.7 深入阅读 80
7.8 日常生活中的速算(边栏) 81
第8章 算法设计技术 83
8.1 问题及简单算法 83
8.2 两个平方算法 84
8.3 分治算法 86
8.4 扫描算法 87
8.5 实际运行时间 88
8.6 原理 90
8.7 习题 91
8.8 深入阅读 92
第9章 代码调优 95
9.1 典型的故事 95
9.2 急救方案集锦 96
9.3 大手术——二分搜索 101
9.4 原理 105
9.5 习题 106
9.6 深入阅读 108
第 10章 节省空间 109
10.1 关键在于简单 109
10.2 示例问题 110
10.3 数据空间技术 113
10.4 代码空间技术 116
10.5 原理 118
10.6 习题 119
10.7 深入阅读 120
10.8 巨大的节省(边栏) 121
第三部分 应用
第 11章 排 序 125
11.1 插入排序 125
11.2 一种简单的快速排序 127
11.3 更好的几种快速排序 130
11.4 原理 133
11.5 习题 133
11.6 深入阅读 135
第 12章 取样问题 137
12.1 问题 137
12.2 一种解决方案 138
12.3 设计空间 139
12.4 原理 142
12.5 习题 143
12.6 深入阅读 144
第 13章 搜 索 145
13.1 接口 145
13.2 线性结构 147
13.3 二分搜索树 151
13.4 用于整数的结构 153
13.5 原理 155
13.6 习题 156
13.7 深入阅读 157
13.8 一个实际搜索问题(边栏) 157
第 14章 堆 161
14.1 数据结构 161
14.2 两个关键函数 163
14.3 优先级队列 166
14.4 一种排序算法 169
14.5 原理 171
14.6 习题 172
14.7 深入阅读 174
第 15章 字符串 175
15.1 单词 175
15.2 短语 179
15.3 生成文本 182
15.4 原理 187
15.5 习题 188
15.6 深入阅读 189
第 1版跋 191
第 2版跋 195
附录A 算法分类 197
附录B 估算测试 203
附录C 时空开销模型 205
附录D 代码调优法则 211
附录E 用于搜索的C++类 217
部分习题提示 223
部分习题答案 229
索引 259
· · · · · ·

  • 位图或位向量表示集合
    —— 引自第6页
  • 习题2:如何使用位逻辑运算来实现位向量?
    —— 引自第7页
  •   编程珠玑(修订版)(共5册),这套丛书还有《编程珠玑(第2版•修订版)》《编程珠玑(续)(修订版)》《编程珠玑续》《程序员必读算法经典之作:编程珠玑第2版+编程珠玑续(京东套装2册)》。

    添加微信公众号:好书天下获取

    添加微信公众号:“好书天下”获取书籍好书天下 » 编程珠玑(第2版)
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!

     

    添加微信公众号:“好书天下”获取书籍

    添加微信公众号:“好书天下”获取书籍添加微信公众号:“好书天下”获取书籍