《数学与泛型编程 高效编程的奥秘》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:亚历山大A.斯捷潘诺夫,(美)丹尼尔E.罗斯著;爱飞翔译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2017
  • ISBN:9787111576587
  • 页数:241 页
图书介绍:不同于以往的编程类书籍,本书将编程和数学有机地结合在一起,从历史的角度来分析现代编程的发展历程,有助于读者进一步了解C++、Java等程序语言。虽然书中含有一些复杂难懂的数学原理,但是通过结合现代通用编程的实例,使得两者和谐自然地呈现在读者眼前。

第1章 内容提要 1

1.1 编程与数学 1

1.2 从历史的角度来讲解 2

1.3 阅读准备 3

1.4 各章概述 3

第2章 算法初谈 5

2.1 埃及乘法算法 6

2.2 改进该算法 9

2.3 本章要点 12

第3章 古希腊的数论 13

3.1 整数的几何属性 13

3.2 筛选素数 15

3.3 实现该算法并优化其代码 18

3.4 完美数 23

3.5 毕达哥拉斯学派的构想 26

3.6 毕氏构想中的严重缺陷 28

3.7 本章要点 31

第4章 欧几里得算法 33

4.1 雅典与亚历山大 33

4.2 欧几里得的最大公度量算法 36

4.3 缺乏数学成就的一千年 40

4.4 奇怪的0 42

4.5 求余及求商算法 44

4.6 用同一份代码来实现求余及求商 47

4.7 对最大公约数算法进行验证 49

4.8 本章要点 51

第5章 现代数论的兴起 52

5.1 梅森素数与费马素数 52

5.2 费马小定理 57

5.3 消去 59

5.4 证明费马小定理 63

5.5 欧拉定理 65

5.6 模运算的应用 69

5.7 本章要点 69

第6章 数学中的抽象 71

6.1 群 71

6.2 幺半群与半群 74

6.3 与群有关的定理 77

6.4 子群及循环群 80

6.5 拉格朗日定理 82

6.6 理论与模型 86

6.7 举例说明范畴理论与非范畴理论 89

6.8 本章要点 92

第7章 推导泛型算法 94

7.1 厘清算法所应满足的要求 94

7.2 对模板参数A提出要求 95

7.3 对模板参数N提出要求 98

7.4 提出新的要求 100

7.5 将乘法算法改编为幂算法 102

7.6 对运算本身加以泛化 103

7.7 计算斐波那契数 106

7.8 本章要点 109

第8章 更多代数结构 110

8.1 斯蒂文、多项式及最大公约数 110

8.2 哥廷根与德国数学 115

8.3 埃米·诺特与抽象代数的诞生 120

8.4 环 121

8.5 矩阵乘法与半环 124

8.6 半环的运用:社交网络与最短路径 125

8.7 欧几里得整环 127

8.8 域及其他的代数结构 128

8.9 本章要点 129

第9章 整理数学知识 132

9.1 证明 132

9.2 数学史上的第一个定理 135

9.3 欧几里得与公理化方法 137

9.4 与欧氏几何并立的其他几何学 139

9.5 希尔伯特的形式化方法 141

9.6 皮亚诺与他的公理 144

9.7 用皮亚诺公理来构建算术体系 147

9.8 本章要点 149

第10章 编程的基本概念 150

10.1 亚里士多德与抽象 150

10.2 值与类型 152

10.3 concept 153

10.4 迭代器 156

10.5 迭代器的种类、所支持的操作及所具备的特性 157

10.6 区间 160

10.7 线性搜索 162

10.8 二分搜索 163

10.9 本章要点 167

第11章 置换算法 169

11.1 置换与换位 169

11.2 交换两个区间内的元素 172

11.3 旋转 175

11.4 利用循环来执行旋转 178

11.5 倒置 182

11.6 空间复杂度 186

11.7 内存自适应算法 187

11.8 本章要点 188

第12章 再论最大公约数算法 189

12.1 硬件的限制催生出更为高效的算法 189

12.2 Stein算法的推广 192

12.3 贝祖等式 194

12.4 扩展最大公约数算法 198

12.5 最大公约数算法的运用 202

12.6 本章要点 203

第13章 实际运用 204

13.1 密码学 204

13.2 素数测试 206

13.3 米勒-拉宾素数测试 209

13.4 RSA算法的步骤及原理 211

13.5 本章要点 214

第14章 全书总结 215

延伸阅读 217

附录A 记法 222

附录B 常用的证明办法 225

附录C 写给非C++程序员看的C++知识 228

参考文献 237

中英文词汇对照表 241