第一部分 编 程 技 术
第1章 性能监视工具 3
1.1 计算素数 3
1.2 使用性能监视工具 7
1.3 一个专用的性能监视工具 8
1.4 开发性能监视工具 10
1.5 原理 11
1.6 习题 11
1.7 深入阅读 12
第2章 关联数组 13
2.1 Awk中的关联数组 13
2.2 有穷状态机模拟器 16
2.3 拓扑排序 17
2.4 原理 20
2.5 习题 21
2.6 深入阅读 22
第3章 程序员的忏悔 23
3.1 二分搜索 24
3.2 选择算法 26
3.3 子程序库 28
3.4 原理 30
3.5 习题 31
第4章 自描述数据 33
4.1 名字—值对 33
4.2 记录来历 36
4.3 排序实验 37
4.4 原理 39
4.5 习题 39
第二部分 实 用 技 巧
第5章 劈开戈尔迪之结 43
5.1 小测验 43
5.2 解答 44
5.3 提示 44
5.4 原理 47
5.5 习题 48
5.6 深入阅读 49
5.7 调试(边栏) 49
第6章 计算机科学箴言集 51
6.1 编码 52
6.2 用户界面 53
6.3 调试 53
6.4 性能 54
6.5 文档 56
6.6 软件管理 56
6.7 其他 58
6.8 原理 58
6.9 习题 58
6.10 深入阅读 60
第7章 粗略估算 61
7.1 头脑热身 61
7.2 性能的经验法则 62
7.3 Little定律 64
7.4 原理 65
7.5 习题 66
7.6 深入阅读 67
7.7 日常速算(边栏) 67
第8章 人员备忘录 69
8.1 备忘录 69
8.2 原理 71
8.3 深入阅读 71
第三部分 人性化I/O
第9章 小语言 75
9.1 Pic语言 76
9.2 视角 79
9.3 Pic预处理器 81
9.4 用来实现Pic的小语言 83
9.5 原理 87
9.6 习题 88
9.7 深入阅读 89
第10章 文档设计 91
10.1 表格 92
10.2 三条设计原则 94
10.3 插图 94
10.4 文本 96
10.5 合适的媒介 98
10.6 原理 100
10.7 习题 101
10.8 深入阅读 101
10.9 次要问题目录(边栏) 101
第11章 图形化输出 103
11.1 实例研究 103
11.2 显示结果取样 105
11.3 原理 107
11.4 习题 108
11.5 深入阅读 110
11.6 拿破仑远征莫斯科(边栏) 110
第12章 对调查的研究 113
12.1 有关民意调查的问题 113
12.2 语言 114
12.3 图片 117
12.4 原理 119
12.5 习题 120
第四部分 算 法
第13章 绝妙的取样 123
13.1 取样算法一瞥 123
13.2 Floyd算法 124
13.3 随机排列 125
13.4 原理 127
13.5 习题 127
13.6 深入阅读 128
第14章 编写数值计算程序 129
14.1 问题 129
14.2 牛顿迭代 130
14.3 良好的起点 132
14.4 代码 133
14.5 原理 135
14.6 习题 135
14.7 深入阅读 137
14.8 数值算法的力量(边栏) 137
第15章 选择 141
15.1 问题 141
15.2 程序 142
15.3 运行时间分析 145
15.4 原理 148
15.5 习题 149
15.6 深入阅读 151
附录A C和Awk语言 153
附录B 一个子程序库 157
部分习题答案 165
索引 181