算法的乐趣 PDF 高清电子书 免费下载 完整版 在线阅读- 高飞网
算法的乐趣

算法的乐趣

王晓华
算法
浏览人数:1
读者:                     ...
  算法之大,大到可以囊括宇宙万物的运行规律;算法之小,小到寥寥数行代码即可展现一个神奇的功能。算法的应用和乐趣在生活中无处不在:
  历法和二十四节气计算使用的是霍纳法则和求解一元高次方程的牛顿迭代法;
  音频播放器跳动的实时频谱背后是离散傅立叶变换算法;
  DOS时代的PCX图像文件格式使用的是简单有效的RLE压缩算法;
  RSA加密算法的光环之下是朴实的欧几里德算法、蒙哥马利算法和米勒-拉宾算法;
  井字棋、黑白棋、五子棋和俄罗斯方块游戏背后是各种有趣的AI算法;
  华容道游戏求解的简单穷举算法中还蕴藏着对棋盘状态的哈希算法;
  遗传算法神秘不可测,但用遗传算法求解0-1背包问题只用了60多行代码……
  《算法的乐趣》带你走进色彩缤纷的算法世界,让你尽享算法的乐趣。

第1章 程序员与算法   
1.1 什么是算法   
1.2 程序员必须要会算法吗   
1.3 算法的乐趣在哪里   
1.4 算法与代码   
1.5 总结   
1.6 参考资料   
第2章 算法设计的基础   
2.1 程序的基本结构   
2.2 算法实现与数据结构   
2.3 数据结构和数学模型与算法的关系   
2.4 总结   
2.5 参考资料   
第3章 算法设计的常用思想   
3.1 贪婪法   
3.2 分治法   
3.3 动态规划   
3.4 解空间的穷举搜索   
3.5 总结   
3.6 参考资料   
第4章 阿拉伯数字与中文数字   
4.1 中文数字的特点   
4.2 阿拉伯数字转中文数字   
4.3 中文数字转阿拉伯数字   
4.4 数字转换的测试用例   
4.5 总结   
4.6 参考资料   
第5章 三个水桶等分8 升水的问题   
5.1 问题与求解思路   
5.2 建立数学模型   
5.3 搜索算法   
5.4 算法实现   
5.5 总结   
5.6 参考资料   
第6章 妖怪与和尚过河问题   
6.1 问题与求解思路   
6.2 建立数学模型   
6.3 搜索算法   
6.4 算法实现   
6.5 总结   
6.6 参考资料   
第7章 稳定匹配与舞伴问题   
7.1 稳定匹配问题   
7.2 Gale-Shapley 算法的应用实例   
7.3 有多少稳定匹配   
7.4 二部图与二分匹配   
7.5 总结   
7.6 参考资料   
第8章 爱因斯坦的思考题   
8.1 问题的答案   
8.2 分析问题的数学模型   
8.3 算法设计   
8.4 总结   
8.5 参考资料   
第9章 项目管理与图的拓扑排序   
9.1 AOV 网和AOE 网   
9.2 拓扑排序   
9.3 关键路径算法   
9.4 总结   
9.5 参考资料   
第10章 RLE 压缩算法与PCX 图像文件格式   
10.1 RLE 压缩算法   
10.2 RLE 与PCX 图像文件格式   
10.3 总结   
10.4 参考资料   
第11章 算法与历法   
11.1 格里历(公历)生成算法   
11.2 二十四节气的天文学计算   
11.3 农历朔日(新月)的天文学计算   
11.4 农历的生成算法   
11.5 总结   
11.6 参考资料   
第12章 实验数据与曲线拟合   
12.1 曲线拟合   
12.2 最小二乘法曲线拟合   
12.3 三次样条曲线拟合   
12.4 总结   
12.5 参考资料   
第13章 非线性方程与牛顿迭代法   
13.1 非线性方程求解的常用方法   
13.2 牛顿迭代法的数学原理   
13.3 用牛顿迭代法求解非线性方程的实例   
13.4 参考资料   
第14章 计算几何与计算机图形学   
14.1 计算几何的基本算法   
14.2 直线生成算法   
14.3 圆生成算法   
14.4 椭圆生成算法   
14.5 多边形区域填充算法   
14.6 总结   
14.7 参考资料   
第15章 音频频谱和均衡器与傅里叶变换算法   
15.1 实时频谱显示的原理   
15.2 离散傅里叶变换   
15.3 傅里叶变换与音频播放的实时频谱显示   
15.4 破解电话号码的小把戏   
15.5 离散傅里叶逆变换   
15.6 利用傅里叶变换实现频域均衡器   
15.7 总结   
15.8 参考资料   
第16章 全局最优解与遗传算法   
16.1 遗传算法的原理   
16.2 遗传算法求解0-1 背包问题   
16.3 总结   
16.4 参考资料   
第17章 计算器程序与大整数计算   
17.1 哦,溢出了,出洋相的计算器程序   
17.2 大整数计算的原理   
17.3 大整数类的使用   
17.4 总结   
17.5 参考资料   
第18章 RSA 算法--加密与签名   
18.1 RSA 算法的开胃菜   
18.2 RSA 算法原理   
18.3 数据块分组加密   
18.4 RSA 签名与身份验证   
18.5 总结   
18.6 参考资料   
第19章 数独游戏   
19.1 数独游戏的规则与技巧   
19.2 计算机求解数独问题   
19.3 关于数独的趣味话题   
19.4 总结   
19.5 参考资料   
第20章 华容道游戏   
20.1 华容道游戏介绍   
20.2 自动求解的算法原理   
20.3 自动求解的算法实现   
20.4 总结   
20.5 参考资料   
第21章 A*寻径算法   
21.1 寻径算法演示程序   
21.2 Dijkstra 算法   
21.3 带启发的搜索算法--A*算法   
21.4 总结   
21.5 参考资料   
第22章 俄罗斯方块游戏   
22.1 俄罗斯方块游戏规则   
22.2 俄罗斯方块游戏人工智能的算法原理   
22.3 Pierre Dellacherie 算法实现   
22.4 总结   
22.5 参考资料   
第23章 博弈树与棋类游戏   
23.1 棋类游戏的AI   
23.2 井字棋--最简单的博弈游戏   
23.3 奥赛罗棋(黑白棋)   
23.4 五子棋   
23.5 总结   
23.6 参考资料   
附录A 算法设计的常用技巧   
A.1 数组下标处理   
A.2 一重循环实现两重循环的功能   
A.3 棋盘(迷宫)类算法方向遍历   
A.4 代码的一致性处理技巧   
A.5 链表和数组的配合使用   
A.6 \"以空间换时间\"的常用技巧   
A.7 利用表驱动避免长长的switch-case   
附录B 一个棋类游戏的设计框架   
B.1 代码框架的整体结构   
B.2 代码框架的使用方法   
看过本书的人还看过