历*杰出的电子信息科学经典著作之一
融深遂观念、实战演练技术性与趣味性轶事于一炉的奇书
陪你真实领略到电子信息科学之美
很多年至今,当程序员们选举出*深爱的电子计算机书籍时,《编程珠玑》一直坐落于前例。如同大自然里真珠源于泥沙对杜蛎的磨炼,电子信息科学高手JonBentley因其特有的判断力和想像力,从磨炼程序员的具体难题中凝固出一篇篇不朽的程序编写“珠玑”,变成全球计算机界名刊《ACM通信》历*火爆的栏目,*结束集为两台不朽的电子信息科学文学名著,危害和鼓励着一代又一代程序员和电子信息科学工作人员。这书为*卷,关键探讨电子信息科学中*实质的难题:怎样恰当挑选和高效率地保持优化算法。
在书中,创作者选择很多具备典型性实际意义的繁杂程序编写和优化算法难题,栩栩如生勾勒了在历史上众高手们在探寻解决方法中产生的轶事、踏过的弯道和持续精雕细琢的过程,正确引导阅读者像真实的程序员和前端工程师那般富有创新能力地思索,并深入论述和小结了很多与众不同而绝妙的设计原理、思索和解决困难的方式 及其实用程序设计方案方法。解决方法的编码均以C/c语言编程撰写,不但趣味,并且有挺大的实战演练示范性实际意义。各章后应附练习题具有趣味性和创造性,书末得出了简约的解释。
这书是电子信息科学层面的文学名著。书的內容紧紧围绕编程设计工作人员应对的一系列具体难题进行。创作者JonBentley因其特有的判断力和想像力,正确引导阅读者了解这种难题并学好解决方案,而这种更是程序员具体程序编写职业生涯中尤为重要的。这书的特点是根据一些精心策划的趣味而又极具指导作用的程序流程,对实用程序设计方案方法及基础设计原理开展了深入而明智的叙述,为繁杂的程序编写难题出示了清楚而完善的处理构思。这书对每个层级的程序员都具备很高的阅读文章使用价值。
目录
- 第一部分 基础
- 第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