《算法的乐趣》pdf格式下载免费电子书下载

《算法的乐趣》pdf格式下载免费电子书下载 https://u253469.ctfile.com/fs/253469-300343585

 

 

 

image

 

内容简介

算法之大,大到可以囊括宇宙万物的运行规律;算法之小,小到寥寥数行代码即可展现一个神奇的功能。算法的应用和乐趣在生活中无处不在:

历法和二十四节气计算使用的是霍纳法则和求解一元高次方程的牛顿迭代法;

音频播放器跳动的实时频谱背后是离散傅立叶变换算法;

DOS时代著名的PCX图像文件格式使用的是简单有效的RLE压缩算法;

扫描二维码关注公众号,回复: 2594536 查看本文章

RSA加密算法的光环之下是朴实的欧几里德算法、蒙哥马利算法和米勒-拉宾算法;

井字棋、黑白棋、五子棋和俄罗斯方块游戏背后是各种有趣的AI算法;

华容道游戏求解的简单穷举算法中还蕴藏着对棋盘状态的哈希算法;

遗传算法神秘不可测,但用遗传算法求解0-1背包问题只用了60多行代码……

一本书带你走进色彩缤纷的算法世界,让你尽享算法的乐趣。

作者简介

王晓华

2005年毕业于华中科技大学,目前在中兴通讯上海研发中心从事光纤接入网通讯设备开发,担任EPON(以太网无源光网络)业务软件开发经理,参与开发的PON设备在全球部署过亿线,为数亿家庭提供宽带接入服务。

业余时间喜欢研究算法和写作博客,最大的乐趣就是用程序解决生活中的问题:

为了方便使用Visual Studio 6.0开发软件,曾特意编写并开源了一个tabbar插件;

为了文档安全,开发了一个基于layerFSD技术的透明文件加密系统;

使用Source Insight软件觉得不习惯,于是以外挂的形式开发了TabSiPlus插件……

算法可以做的事情还有很多,期待我们会有更多发现!

目录

第1章 程序员与算法  1
1.1 什么是算法  2
1.2 程序员必须要会算法吗  2
1.2.1 一个队列引发的惨案  3
1.2.2 我的第一个算法  5
1.3 算法的乐趣在哪里  7
1.4 算法与代码  8
1.5 总结  9
1.6 参考资料  9
第2章 算法设计的基础  10
2.1 程序的基本结构  10
2.1.1 顺序执行  10
2.1.2 循环结构  11
2.1.3 分支和跳转结构  13
2.2 算法实现与数据结构  16
2.2.1 基本数据结构在算法设计中的应用  16
2.2.2 复杂数据结构在算法设计中的应用  19
2.3 数据结构和数学模型与算法的关系  24
2.4 总结  25
2.5 参考资料  25
第3章 算法设计的常用思想  26
3.1 贪婪法  26
3.1.1 贪婪法的基本思想  27
3.1.2 贪婪法的例子:0-1 背包问题  27
3.2 分治法  30
3.2.1 分治法的基本思想  30
3.2.2 递归和分治,一对好朋友  31
3.2.3 分治法的例子:大整数Karatsuba 乘法算法  32
3.3 动态规划  34
3.3.1 动态规划的基本思想  34
3.3.2 动态规划法的例子:字符串的编辑距离  37
3.4 解空间的穷举搜索  40
3.4.1 解空间的定义  41
3.4.2 穷举解空间的策略  42
3.4.3 穷举搜索的例子:Google 方程式  44
3.5 总结  46
3.6 参考资料  46
第4章 阿拉伯数字与中文数字  47
4.1 中文数字的特点  47
4.1.1 中文数字的权位和小节  48
4.1.2 中文数字的零  48
4.2 阿拉伯数字转中文数字  49
4.2.1 一个转换示例  49
4.2.2 转换算法设计  49
4.2.3 算法实现  50
4.2.4 中文大写数字  51
4.3 中文数字转阿拉伯数字  52
4.3.1 转换的基本方法  52
4.3.2 算法实现  52
4.4 数字转换的测试用例  54
4.5 总结  55
4.6 参考资料  55
第5章 三个水桶等分8 升水的问题  56
5.1 问题与求解思路  57
5.2 建立数学模型  58
5.2.1 状态的数学模型与状态树  58
5.2.2 倒水动作的数学模型  59
5.3 搜索算法  60
5.3.1 状态树的遍历  60
5.3.2 剪枝和重复状态判断  61
5.4 算法实现  62
5.5 总结  64
5.6 参考资料  64
第6章 妖怪与和尚过河问题  65
6.1 问题与求解思路  66
6.2 建立数学模型  66
6.2.1 状态的数学模型与状态树  67
6.2.2 过河动作的数学模型  67
6.3 搜索算法  69
6.3.1 状态树的遍历  70
6.3.2 剪枝和重复状态判断  70
6.4 算法实现  71
6.5 总结  72
6.6 参考资料  73
第7章 稳定匹配与舞伴问题   74
7.1 稳定匹配问题  74
7.1.1 什么是稳定匹配  74
7.1.2 Gale-Shapley 算法原理  75
7.2 Gale-Shapley 算法的应用实例  77
7.2.1 算法实现  77
7.2.2 改进优化:空间换时间  80
7.3 有多少稳定匹配  81
7.3.1 穷举所有的完美匹配   81
7.3.2 不稳定因素的判断算法   82
7.3.3 穷举的结果   84
7.4 二部图与二分匹配   84
7.4.1 最大匹配与匈牙利算法   85
7.4.2 带权匹配与Kuhn-Munkres算法   88
7.5 总结   93
7.6 参考资料   94
第8章 爱因斯坦的思考题   95
8.1 问题的答案   96
8.2 分析问题的数学模型   96
8.2.1 基本模型定义   96
8.2.2 线索模型定义   98
8.3 算法设计   99
8.3.1 穷举所有的组合结果   99
8.3.2 利用线索判定结果的正确性   101
8.4 总结   103
8.5 参考资料   104

猜你喜欢

转载自www.cnblogs.com/zhiyong399/p/9435212.html