《计算机程序设计艺术》系列被公认为计算机科学领域的杰出之作,深入阐述了程序设计理论,对计算机领域的发展有着极为深远的影响。本卷为系列的第2卷,全面讲解了半数值算法,分“随机数”和“算术”两章。书中总结了主要算法范例及这些算法的基本理论,广泛剖析了计算机程序设计与数值分析间的相互联系。
“计算机科学既壮观又幽美,我尝试尽自己所能,以十分恰当的方式来解释我所了解的某些片断。很显然,我自己并没有任何超自然能力,但的确很喜欢讲述那些似乎静静地等待着人们去讲出来的故事。写书跟讲故事十分类似。”
——图灵访谈之专访DonaldE.Knuth
《计算机程序设计艺术》系列著作被公认为是对经典计算机科学的论述,曾在1999年被《美国科学家》期刊评选为20世纪相当重要的12部学术专著之一。这一宏伟浩大的工程始于1962年,计划出版7卷,目前已经出版了4卷。数十年来,这本书一直是广大学生、研究人员和业内人士学习程序设计理论和实践的无价之宝,书中各处无不体现着作者渊博的学识、严谨的治学态度,以及深刻的洞察力。该套书自出版以来,广受众多科学家的赞许,并对无数读者产生了极其深远的影响。
《计算机程序设计艺术》堪称计算机科学领域的瑰宝。从事研究的人惊艳于其精美优雅的分析,而普通程序员则一直在卓有成效地利用书中提供的各种方案解决日常问题。这些书展现了作者的博观、清晰和幽默,所有的人都钦佩不已。高德纳是算法和程序设计领域的先驱者,对计算机科学发展史也有着深入的研究,书中在介绍众多理论的同时,也给出了相关的历史和发展历程,成为本书的一大特色。
高德纳(Donald E. Knuth),杰出计算机科学家,算法与程序设计技术的先驱者、斯坦福大学计算机系荣休教授、计算机排版系统TEX和METAFONT字体系统的发明人,因诸多成就以及大量富于创造力和具有深远影响的著作(19部书,160篇论文)而誉满全球。近些年,他将精力全部投入到《计算机程序设计艺术》七卷集的史诗般创作中。Knuth教授获得过许多奖项和荣誉,包括美国计算机协会图灵奖、美国国家科学奖章、美国数学学会的斯蒂尔奖,以及因发明先进技术于1996年荣获的京都奖。1996年,设立了以其名字命名的Donald E. Knuth奖,授予那些为计算机科学基础做出杰出贡献的人。
第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
附录C 算法和定理索引 580
人名索引 582
索引 592
第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
附录C 算法和定理索引 580
人名索引 582
索引 592