注重体验与质量的电子书资源下载网站
分类于: 编程语言 计算机基础 互联网
简介
编程珠玑(第2版•修订版) 豆 8.4分
资源最后更新于 2020-07-12 01:54:28
作者:[美] Jon Bentley 乔恩•本特利
译者:黄倩
出版社:人民邮电出版社
出版日期:2014-01
ISBN:9787115357618
文件格式: epub, azw3
标签: 算法 编程 计算机 计算机科学 程序设计 经典 编程珠玑 软件开发
简介· · · · · ·
历史上最伟大的计算机科学著作之一
融深邃思想、实战技术与趣味轶事于一炉的奇书
带你真正领略计算机科学之美
多年以来,当程序员们推选出最心爱的计算机图书时,《编程珠玑》总是位于前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上最受欢迎的专栏,最终结集为两部不朽的计算机科学经典名著,影响和激励着一代又一代程序员和计算机科学工作者。本书为第一卷,主要讨论计算机科学中最本质的问题:如何正确选择和高效地实现算法。
在书中,作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻...
目录
第一部分 基础
第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
第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