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