《Swift常用算法 经典计算机科学问题的Swift实现》PDF下载

  • 购买积分:9 如何计算积分?
  • 作  者:(美)大卫·科帕克(David Kopec)著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2019
  • ISBN:9787302517092
  • 页数:200 页
图书介绍:本书借助大量实例,演示了Swift编程在各种常见计算机科学问题求解中的应用,包括搜索、群集甚至AI,以及应用的开发、优化和工具构建等,全书共8章,内容包括:经典小问题、搜索问题、约束满足问题、图形问题、通用算法、K-means群集、神经网络、混合问题等。

第1章 小型问题 1

1.1斐波那契数列 1

1.1.1尝试递归方法 1

1.1.2利用基本情形 2

1.1.3计算缓存技术 4

1.1.4保持斐波那契简单 5

1.2简单数据压缩 6

1.3牢不可破的加密 9

1.3.1数据排序 10

1.3.2加密和解密 11

1.4 π的计算 12

1.5汉诺塔 13

1.5.1汉诺塔的建模 14

1.5.2解决汉诺塔问题 15

1.6实际应用 16

1.7练习 17

第2章 搜索问题 19

2.1 DNA搜索 19

2.1.1存储DNA 20

2.1.2线性搜索 21

2.1.3二分搜索 22

2.1.4泛型示例 24

2.2迷宫求解 25

2.2.1生成随机迷宫 25

2.2.2其他迷宫细节 26

2.2.3深度优先搜索 28

2.2.4广度优先搜索 32

2.2.5 A*搜索 34

2.3传教士和食人族 39

2.3.1问题表示 39

2.3.2问题解决 42

2.4实际应用 43

2.5练习 44

第3章 约束满足问题 45

3.1构建约束满足问题的解决框架 46

3.2澳大利亚地图着色问题 50

3.3八皇后问题 53

3.4单词搜索问题 55

3.5 SEND+MORE=MONEY问题 59

3.6电路板布局问题 61

3.7实际应用 61

3.8练习 62

第4章 图问题 63

4.1构建图框架 65

4.1.1 Edge的具体实现 70

4.1.2 Graph的具体实现 70

4.2寻找最短路径 73

4.2.1定义路径 73

4.2.2广度优先搜索(BFS)回顾 74

4.3最小化网络建设成本 77

4.3.1权 77

4.3.2寻找最小生成树 82

4.4在带权图中寻找最短路径 88

4.5实际应用 93

4.6练习 94

第5章 遗传算法 95

5.1生物学背景知识 95

5.2预备知识 96

5.3通用遗传算法 98

5.4简单测试 105

5.5重新讨论SEND+MORE=MONEY问题 108

5.6遗传算法面临的挑战 112

5.7实际应用 112

5.8练习 113

第6章 k-均值聚类算法 115

6.1预备知识 115

6.2 k-均值聚类算法 120

6.3基于年龄和地理经度的州长聚类算法 124

6.4 k-均值聚类问题及其扩展 128

6.5实际应用 129

6.6练习 130

第7章 简单神经网络 131

7.1来自生物学的灵感 131

7.2人工神经网络 133

7.2.1神经元 133

7.2.2层 134

7.2.3反向传播 135

7.2.4整体情况 137

7.3预备知识 138

7.3.1借助随机化 138

7.3.2快速算法 140

7.4激活函数 141

7.5构建神经网络 142

7.5.1实现神经元 143

7.5.2层的实现 144

7.5.3神经网络的实现 146

7.6分类问题 149

7.6.1归一化数据 149

7.6.2经典的iris(鸢尾属植物)数据集 150

7.6.3葡萄酒分类问题 154

7.7神经网络问题及其扩展 156

7.8实际应用 157

7.9练习 158

第8章 其他问题 159

8.1背包问题 159

8.2旅行推销员问题 163

8.2.1简单方法 164

8.2.2深层考虑 170

8.3电话号码助记符 170

8.4井字棋 172

8.4.1管理状态 173

8.4.2极小极大算法 175

8.5实际应用 179

8.6练习 180

附录A术语表 181

附录B更多资源 187

附录C Swift简史 193