这是一部包含一切基础算法的宝典,是它教给了这一代软件开发人员关于计算机程序设计的绝大多数知识。
——Byte杂志1995年9月刊
我简直说不清楚这些书给我的学习和娱乐带来了多少欢乐时光。我在各种场合一有空就仔细研读,在车上,在餐馆,上班时,回到家里……甚至有次观看我儿子的球赛,趁他没上场的时候,我还拿出来看了一阵子。
——Charles Long
如果你自以为是一个很好的程序员,请去读读高德纳的《计算机程序设计艺术》吧……要是你真把它读下来了,就毫无疑问可以给我递简历了。
——比尔•盖茨
遇到问题需要把高德纳的著作请下书架,总是个令人愉悦的经历。我发现,只要翻一翻这些书,就会立竿见影地“镇住”计算机。
——Jonathan Laventhol
第3章 随机数 1
3.1 引言 1
3.2 生成均匀的随机数 8
3.2.1 线性同余法 8
3.2.1.1 模的选择 9
3.2.1.2 乘数的选择 13
3.2.1.3 势 18
3.2.2 其他方法 20
3.3 统计检验 32
3.3.1 研究随机数据的一般检验过程 32
3.3.2 经验检验 46
*3.3.3 理论检验 60
3.3.4 谱检验 70
3.4 其他类型的随机量 90
3.4.1 数值分布 90
3.4.2 随机抽样和洗牌 107
*3.5 什么是随机序列? 113
3.6 小结 139
第4章 算术 147
4.1 按位记数系统 147
4.2 浮点算术 163
4.2.1 单精度计算 163
4.2.2 浮点算术的精度 175
*4.2.3 双精度计算 188
4.2.4 浮点数的分布 194
4.3 多精度算术 203
4.3.1 经典算法 203
*4.3.2 模算术 218
*4.3.3 乘法有多快? 225
4.4 进制转换 245
4.5 有理数算术 254
4.5.1 分数 254
4.5.2 *公因数 256
*4.5.3 对欧几里得算法的分析 274
4.5.4 分解素因数 293
4.6 多项式算术 324
4.6.1 多项式除法 325
*4.6.2 多项式的因子分解 340
4.6.3 幂的计算 358
4.6.4 多项式求值 378
*4.7 对幂级数的操作 409
习题答案 420
附录A 数值表 572
附录B 记号索引 576