内容简介 · · · · · ·
历史上最伟大的计算机科学著作之一
融深邃思想、实战技术与趣味轶事于一炉的奇书
带你真正领略计算机科学之美
多年以来,当程序员们推选出最心爱的计算机图书时,《编程珠玑》总是位于前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上最受欢迎的专栏,最终结集为两部不朽的计算机科学经典名著,影响和激励着一代又一代程序员和计算机科学工作者。本书为第一卷,主要讨论计算机科学中最本质的问题:如何正确选择和高效地实现算法。
在书中,作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻...
历史上最伟大的计算机科学著作之一
融深邃思想、实战技术与趣味轶事于一炉的奇书
带你真正领略计算机科学之美
多年以来,当程序员们推选出最心爱的计算机图书时,《编程珠玑》总是位于前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上最受欢迎的专栏,最终结集为两部不朽的计算机科学经典名著,影响和激励着一代又一代程序员和计算机科学工作者。本书为第一卷,主要讨论计算机科学中最本质的问题:如何正确选择和高效地实现算法。
在书中,作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。解决方案的代码均以C/C++语言编写,不仅有趣,而且有很大的实战示范意义。每章后所附习题极具挑战性和启发性,书末给出了简洁的解答。
本书是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley 以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书对各个层次的程序员都具有很高的阅读价值。
书评
“《编程珠玑》是对我职业生涯早期影响最大的书之一,其中的许多真知灼见多年之后仍然使我受益匪浅。”
——Steve McConnell,软件工程大师,IEEE Software前主编,《代码大全》作者
编程珠玑(第2版•修订版)的创作者
· · · · · ·
-
Jon Bentley 作者
作者简介 · · · · · ·
Jon Bentley 世界著名计算机科学家,被誉为影响算法发展的十位大师之一。他先后任职于卡内基-梅隆大学(1976~1982)、贝尔实验室(1982~2001)和Avaya实验室(2001年至今)。在卡内基-梅隆大学担任教授期间,他培养了包括Tcl语言设计者John Ousterhout、Java语言设计者James Gosling、《算法导论》作者之一Charles Leiserson在内的许多计算机科学大家。2004年荣获Dr. Dobb's程序设计卓越奖。
译者简介
黄倩 工学博士,中国计算机学会高级会员,先后就读于南京大学、中国科学院计算技术研究所,先后工作于联发博动科技(北京)有限公司、河海大学计算机与信息学院。主要从事视频处理、机器学习方面的研究工作,获国家自然科学基金资助1项,发表论文十余篇。
钱丽艳 北京大学信息科学技术学院基础实...
Jon Bentley 世界著名计算机科学家,被誉为影响算法发展的十位大师之一。他先后任职于卡内基-梅隆大学(1976~1982)、贝尔实验室(1982~2001)和Avaya实验室(2001年至今)。在卡内基-梅隆大学担任教授期间,他培养了包括Tcl语言设计者John Ousterhout、Java语言设计者James Gosling、《算法导论》作者之一Charles Leiserson在内的许多计算机科学大家。2004年荣获Dr. Dobb's程序设计卓越奖。
译者简介
黄倩 工学博士,中国计算机学会高级会员,先后就读于南京大学、中国科学院计算技术研究所,先后工作于联发博动科技(北京)有限公司、河海大学计算机与信息学院。主要从事视频处理、机器学习方面的研究工作,获国家自然科学基金资助1项,发表论文十余篇。
钱丽艳 北京大学信息科学技术学院基础实验教学研究所软件实验室主任、高级工程师、毕业于国防科技大学,目前主要从事数值计算、程序设计方面的研究工作。
审校人简介
刘田 北京大学信息科学技术学院软件研究所副教授、中国电子学会电路与系统分会图论与系统优化专业委员会秘书长、中国计算机学会和中国电子学会高级会员,毕业于中国科学技术大学,目前主要从事算法分析和计算复杂度、量子信息处理等方面的研究工作,翻译出版了多部国外著名离散数学和计算机理论教材。
目录 · · · · · ·
第1章 开篇 3
1.1 一次友好的对话 3
1.2 准确的问题描述 4
1.3 程序设计 4
1.4 实现概要 5
1.5 原理 6
1.6 习题 7
1.7 深入阅读 9
第2章 啊哈! 算法 11
2.1 三个问题 11
2.2 无处不在的二分搜索 12
2.3 基本操作的威力 13
2.4 排序 15
2.5 原理 16
2.6 习题 17
2.7 深入阅读 18
2.8 变位词程序的实现(边栏) 18
第3章 数据决定程序结构 21
3.1 一个调查程序 21
3.2 格式信函编程 23
3.3 一组示例 25
3.4 结构化数据 26
3.5 用于特殊数据的强大工具 27
3.6 原理 28
3.7 习题 29
3.8 深入阅读 30
第4章 编写正确的程序 33
4.1 二分搜索的挑战 33
4.2 编写程序 34
4.3 理解程序 36
4.4 原理 38
4.5 程序验证的角色 39
4.6 习题 40
4.7 深入阅读 42
第5章 编程小事 43
5.1 从伪代码到C程序 43
5.2 测试工具 44
5.3 断言的艺术 46
5.4 自动测试 48
5.5 计时 49
5.6 完整的程序 50
5.7 原理 51
5.8 习题 51
5.9 深入阅读 52
5.10 调试(边栏) 53
第二部分 性能
第6章 程序性能分析 57
6.1 实例研究 57
6.2 设计层面 59
6.3 原理 60
6.4 习题 61
6.5 深入阅读 61
第7章 粗略估算 63
7.1 基本技巧 64
7.2 性能估计 66
7.3 安全系数 68
7.4 Little定律 69
7.5 原理 70
7.6 习题 70
7.7 深入阅读 71
7.8 日常生活中的速算(边栏) 72
第8章 算法设计技术 73
8.1 问题及简单算法 73
8.2 两个平方算法 74
8.3 分治算法 75
8.4 扫描算法 77
8.5 实际运行时间 77
8.6 原理 79
8.7 习题 80
8.8 深入阅读 81
第9章 代码调优 83
9.1 典型的故事 83
9.2 急救方案集锦 84
9.3 大手术——二分搜索 88
9.4 原理 91
9.5 习题 92
9.6 深入阅读 94
第10章 节省空间 95
10.1 关键在于简单 95
10.2 示例问题 96
10.3 数据空间技术 99
10.4 代码空间技术 101
10.5 原理 103
10.6 习题 104
10.7 深入阅读 105
10.8 巨大的节省(边栏) 105
第三部分 应用
第11章 排序 109
11.1 插入排序 109
11.2 一种简单的快速排序 110
11.3 更好的几种快速排序 113
11.4 原理 115
11.5 习题 116
11.6 深入阅读 117
第12章 取样问题 119
12.1 问题 119
12.2 一种解决方案 120
12.3 设计空间 121
12.4 原理 123
12.5 习题 124
12.6 深入阅读 125
第13章 搜索 127
13.1 接口 127
13.2 线性结构 129
13.3 二分搜索树 132
13.4 用于整数的结构 134
13.5 原理 135
13.6 习题 136
13.7 深入阅读 137
13.8 一个实际搜索问题(边栏) 137
第14章 堆 141
14.1 数据结构 141
14.2 两个关键函数 143
14.3 优先级队列 145
14.4 一种排序算法 148
14.5 原理 150
14.6 习题 150
14.7 深入阅读 152
第15章 字符串 153
15.1 单词 153
15.2 短语 156
15.3 生成文本 158
15.4 原理 163
15.5 习题 163
15.6 深入阅读 164
第1版跋 165
第2版跋 167
附录A 算法分类 169
附录B 估算测试 173
附录C 时空开销模型 175
附录D 代码调优法则 181
附录E 用于搜索的C++类 187
部分习题提示 191
部分习题答案 195
索引 221
· · · · · · (收起)
丛书信息
· · · · · ·
喜欢读"编程珠玑(第2版•修订版)"的人也喜欢的电子书 · · · · · ·
喜欢读"编程珠玑(第2版•修订版)"的人也喜欢 · · · · · ·
- Scala程序设计(第2版) 8.4
- 算法(第4版) 9.3
- 算法导论(原书第3版) 9.3
- UNIX环境高级编程(第3版) 9.6
- 架构整洁之道 8.7
- 代码整洁之道 8.5
- 计算的本质 8.7
- 集体智慧编程 8.6
编程珠玑(第2版•修订版)的书评 · · · · · · ( 全部 61 条 )
这是一本有可能让我提前掉头发的书
这篇书评可能有关键情节透露
传说功力不强的人阅读高深的武功秘籍容易伤身甚至走火入魔。看来这本书已经逼近自己的极限。 不过好消息是挺过这个过程传说功力就能上一甲子。 我阅读本书的前两章是一个翻过-》退回去-》再翻过的痛苦过程,直到我把所有东西都搞懂。如同前言所说,不要急着看完它,多想想。... (展开)Good Essays
读本特利《编程珠玑(第二版)》
随便看了一段, 被翻译搞到了
> 更多书评 61篇
论坛 · · · · · ·
在这本书的论坛里发言这本书的其他版本 · · · · · · ( 全部13 )
-
人民邮电出版社 (2008)9.1分 2402人读过
-
Addison-Wesley Professional (1999)9.4分 204人读过
-
中国电力出版社 (2004)8.9分 1248人读过
-
人民邮电出版社 (2006)9.2分 431人读过
以下书单推荐 · · · · · · ( 全部 )
- 闲着没事读读书(四) (鹿小羽)
- 工作后购书目录 (张小国)
- 团队图书馆 (dexteryy)
- Coding 送的书 (NoName)
- 数据结构+算法/data structure + algorithm (李鼎)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
订阅关于编程珠玑(第2版•修订版)的评论:
feed: rss 2.0
1 有用 刈一 2016-11-13 23:02:17
翻译不好
0 有用 DouMiao 2018-08-26 15:12:56
大概2016年读完的,但是不敢说自己当时都看懂了。现在还能记得一开始的“bitmap”、翻转字符串以及后面验证程序正确性的“循环不变式”
1 有用 DaraW 2019-10-09 21:08:05
首先不建议没有实际工程经验的程序员看这本书,否则很容易钻入一些奇怪的牛角尖中。书中很多写法在几十年后的今天都已经不再是正确的方式,比如手动内联函数,计算硬件级别的缓存。这些都是跨层优化,应该交给下层去做,跨层会加速软件的腐化。 但我还是给这本书打四星,因为确实有点意思,可以了解几十年前的前辈们是如何编写程序的。
0 有用 梨 2020-04-05 00:50:07
一般般,首先是翻译得很别扭,建议读原版。其次,可能是因为我没有项目经验,考虑重读…想认真学算法or算法入门的话是不推荐这本书的。
0 有用 Brad 2019-02-19 22:46:34
开篇作者就说不要学太快,每次一章就够了,我读下来能花一个小时,如果全部理解并把题做出来至少一个星期……非常好,但不适合当第一本算法书。同意其他人说的,不仅仅是算法,而且是种思考方式!
0 有用 红莲 2022-11-07 22:36:24 北京
快排的优化印象很深刻,但是看到折腾半天还不如stl,印象更深刻了。我还是放个调包侠吧
0 有用 神秘人 2022-08-14 20:22:24
非常深入的一本数据 算法 编程思想的书籍
0 有用 芒可猫 2022-06-14 16:01:34
@2016-03-24 22:46:46
1 有用 Marvin不慌 2022-05-26 16:41:24
《编程珠玑》并不是一本高高在上的书,它非常贴近程序员的日常工作。阅读这本书,我的感觉就是在近距离观摩大神,看他如何从提出问题到写出最终的代码来。
0 有用 itisyang 2022-03-26 18:48:20
卖了大半年了,一直没时间读,技巧性的东西,读之,有恍然大悟的感觉,原来还可以这样编程,极其简洁高效