编程珠玑(第二版)

编程珠玑(第二版)
作 者: Jon Bentley 谢君英 石朝江 谢君英
出版社: 中国电力出版社
丛编项: 大师签名系列
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 高级程序语言设计
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  JonBentley是位于新泽西州MurrayHill的朗讯贝尔实验室计算机科学研究中心的技术委员会委员。Jon自1998年就成为《Dr.Dobbs’sJournal》杂志的特约编辑。他的“编程珠玑”专栏多年来一直是顶级学术杂志《CommunicationsoftheACM》最风行的特色专栏之一,而本书正是建立在这些专栏的基础之上。

内容简介

“《编程珠玑》第一版是我职业生涯早期阅读过的最有影响力的书籍之一,第一次从该书中学到的许多观点很久以后仍然使我受益匪浅。Jon在第二版中对素材进行了大量更新,这些新例子的新鲜程度给我留下了深刻的印象。”——SteveMcConnell《CodeComplete》等多部畅销书作者如果让程序员们列出他们最喜欢的书籍,JonBentley的《编程珠玑》常常可以位于经典之列。如同珍珠来自于曾经折磨牡蛎的沙粒,程序设计的珍珠也来自曾经折磨程序员的实际问题。Bentley的珍珠超出了可靠工程学的范畴、在洞察力和创造力的王国中为那些恼人的问题提供了独特而巧妙的解决方案。通过一些精心设计的有趣而且颇具指导意义的程序,书中充满了对实用程序设计技巧及基本设计原则的清晰而机智的描述。因此,《编程珠玑》得到各个层次程序员的青睐并不让人感觉意外。本书增加了以下三个方面的新内容:测试、调试和计时;集合表示;字符串问题原来的所有程序都重新进行了改写,并生成了等量的新代码。可以从本书网站(www.programmingpearls.com)获取所有程序的C或C++实现。相关专题

图书目录

目 录

第一部分 预备知识 1

第1章 开篇 2

1.1 一次友好的对话 2

1.2 精确的问题陈述 3

1.3 程序设计 3

1.4 实现纲要 4

1.5 原则 5

1.6 问题 6

1.7 进阶阅读 7

第2章 啊哈!算法 1

2.1 三个问题 1

2.2 无所不在的二分查找法 1

2.3 原语的力量 3

2.4 归拢:排序 4

2.5 原则 5

2.6 问题 5

2.7 进阶阅读 6

2.8 实现变位词程序(补充材料) 7

第3章 数据结构程序 1

3.1 调查程序 1

3.2 表单字母编程 3

3.3 数组例子 5

3.4 构造数据 6

3.5 针对特定数据的强大工具 6

3.6 原则 8

3.7 问题 9

3.8 进阶阅读 10

第4章 编写正确的程序 1

4.1 二分查找的挑战 1

4.2 编写程序 2

4.3 理解程序 4

4.4 原则 6

4.5 程序验证的任务 7

4.6 问题 7

4.7 进阶阅读 9

第5章 编程中的次要问题 1

5.1 从伪代码到C语言 1

5.2 测试装备 2

5.3 断言的艺术 4

5.4 自动化测试 6

5.5 定时 7

5.6 完整的程序 8

5.7 原则 9

5.8 问题 9

5.9 进阶阅读 10

5.10 调试[补充材料] 10

第二部分 性能 1

第6章 性能透视 2

6.1 案例研究 2

6.2 设计层次 3

6.3 原则 4

6.4 问题 5

6.5 进阶阅读 5

第7章 封底计算 1

7.1 基本技能 1

7.2 性能估计 3

7.3 安全系数 5

7.4 利特尔法则 6

7.5 原则 6

7.6 问题 6

7.7 进阶阅读 7

7.8 日常生活中的快速计算[补充材料] 8

第8章 算法设计技术 1

8.1 问题和简单算法 1

8.2 两个二次算法 2

8.3 分治算法 3

8.4 扫描算法 4

8.5 重要性 5

8.6 原则 6

8.7 问题 7

8.8 进阶阅读 8

第9章 代码优化 1

9.1 一个典型的故事 1

9.2 第一个辅助采样器 2

9.3 主要的外科手术——二分查找 5

9.4 原则 8

9.5 问题 9

9.6 进阶阅读 10

第10章 压缩空间 1

10.1 关键——简单性 1

10.2 一个演示问题 1

10.3 数据空间技术 3

10.4 编码空间技术 6

10.5 原则 7

10.6 问题 8

10.7 进阶阅读 9

10.8 巨大的压缩[补充材料] 9

第三部分 产品 1

第11章 排序 2

11.1 插入排序 2

11.2 简单快速排序 3

11.3 更好的快速排序 6

11.4 原则 8

11.5 问题 9

11.6 进阶阅读 10

第12章 抽样问题 1

12.1 一个实际问题 1

12.2 一种解决方案 1

12.3 设计空间 3

12.4 原则 5

12.5 问题 5

12.6 进阶阅读 6

第13章 查找 1

13.1 接口 1

13.2 线性结构 2

13.3 二分查找树 6

13.4 整数结构 7

13.5 原则 9

13.6 问题 10

13.7 进阶阅读 11

13.8 实际查找问题[补充内容] 11

第14章 堆 1

14.1 数据结构 1

14.2 两个关键函数 2

14.3 优先队列 5

14.4 排序算法 8

14.5 原则 10

14.6 问题 10

14.7 进阶阅读 11

第15章 珍珠字符串 1

15.1 单词 1

15.2 词组 4

15.3 生成文本 6

15.4 原则 10

15.5 问题 11

15.6 进阶阅读 11

第一版本的尾声 12

第二版的尾声 14