发表于2024-11-22
l 内容详细,涉及排序、哈希、动态规划与近似算法、高斯消去法、图论与线性规划、无约束优化、迭代法、插值与拟合等。
l 重点讲解算法的核心思想。
l 注重用算法解决实际问题,如相似性搜索、负载均衡等。
l 详细讲解算法涉及的数学理论及编程实现上的具体技巧。
l 避开了以应试为导向的灌输式讲解。
l 语言精练,无废话;视点独到,不复制。
《算法笔记》介绍了若干常见算法,既包括排序、哈希等基础算法,也包括无约束优化、插值与拟合等数值计算方法。《算法笔记》在介绍算法的同时,结合了作者自己对数学背景、应用场景的理解,便于读者把握算法的核心思想。《算法笔记》尽可能地避开了以应试为导向的灌输式讲解,力求引起读者的兴趣并扩大其视野,例如在介绍哈希时,讲解了如何将哈希的算法思想运用于相似性搜索、负载均衡等多个实际问题中;又如在介绍高斯消去法时,讲解了相关的数学理论及编程实现上的具体技巧,并将其运用于对大规模稀疏线性方程组的求解,等等。
《算法笔记》面向有一定高等数学、编程语言基础及对算法有初步了解的读者,包括高等院校的学生、程序员、算法分析人员及设计人员等,旨在帮助读者进一步学习算法,理解与算法相关的理论基础和应用实例。
刁瑞,毕业于中国科学院数学与系统科学研究院,博士期间的研究方向为zui优化方法。曾获2009年英特尔杯全国计算机多核程序设计大赛冠军,以及2011年KDD Cup第2名等。
谢妍,毕业于中国科学院数学与系统科学研究院,博士期间的研究方向为并行有限元计算。曾在微软互联网工程院从事搜索研发相关工作。
第1 章 排序1
1.1 比较排序. 1
1.1.1 梳排序. 2
1.1.2 堆排序. 4
1.1.3 归并排序 5
1.1.4 快速排序 8
1.1.5 内省排序 10
1.1.6 Timsort 11
1.2 非比较排序. 14
1.2.1 桶排序. 14
1.2.2 基数排序 15
1.3 总结 16
第2 章 哈希17
2.1 基本概念与实现.. 17
2.1.1 哈希函数 17
2.1.2 哈希表. 19
2.2 哈希的应用. 20
2.2.1 相似性搜索.. 20
2.2.2 信息安全 23
2.2.3 比特币. 25
2.2.4 负载均衡 26
第3 章 动态规划与近似算法29
3.1 基本概念. 29
3.1.1 动态规划 29
3.1.2 计算复杂性.. 30
3.2 字符串的编辑距离. 30
3.2.1 问题引入 31
3.2.2 动态规划算法.. 33
3.2.3 滚动数组优化.. 35
3.2.4 上界限制 36
3.2.5 解的回溯 37
3.2.6 分治算法 38
3.2.7 多个字符串的编辑距离. 41
3.3 子集和问题. 43
3.3.1 问题引入 43
3.3.2 子集和问题的动态规划算法 43
3.3.3 最优化问题.. 44
3.3.4 滚动数组的技巧. 45
第4 章 高斯消去法59
4.1 问题引入. 59
4.2 矩阵编程基础 60
4.3 三角方程组. 62
4.3.1 三角矩阵 62
4.3.2 三角矩阵的存储. 63
4.3.3 三角方程组求解. 64
4.4 高斯消去法. 66
4.4.1 算法概述 66
4.4.2 高斯变换 68
4.4.3 LU 分解.. 69
4.4.4 Cholesky 分解.. 70
4.5 主元选择. 71
4.5.1 列选主元 71
4.5.2 全选主元 73
4.5.3 主元与计算量.. 74
4.6 稀疏矩阵的编程基础 75
4.6.1 稀疏向量 76
4.6.2 稀疏矩阵 79
4.7 稀疏LU 分解. 82
4.7.1 Markowitz 算法.. 82
4.7.2 最小度算法.. 83
第5 章 图论与线性规划86
5.1 线性规划基础 86
5.1.1 Fourier Motzkin 消去法. 89
5.1.2 基 91
5.1.3 单纯形方法.. 93
5.1.4 对偶.. 95
5.2 全单模矩阵. 98
5.2.1 关联矩阵 98
5.2.2 全单模矩阵.. 99
5.2.3 全单模矩阵与图论 100
5.2.4 全单模矩阵与线性规划. 103
5.3 图论中的经典问题. 104
5.3.1 单源最短路问题. 104
5.3.2 二分图的最大匹配与最小覆盖问题 106
5.3.3 最大流与最小割问题.. 108
5.4 延伸阅读. 109
5.4.1 逐步线性规划.. 109
5.4.2 半正定规划.. 111
第6 章 无约束优化113
6.1 单峰函数的最值.. 114
6.1.1 三分法. 115
6.1.2 对分法. 115
6.1.3 黄金分割法.. 116
6.1.4 小结.. 117
6.2 无导数优化方法.. 118
6.2.1 模式搜索法.. 118
6.2.2 坐标下降法.. 119
6.2.3 代理模型法.. 120
6.3 导数优化方法 121
6.3.1 线搜索. 122
6.3.2 梯度下降法.. 123
6.3.3 共轭梯度法.. 124
6.3.4 牛顿法. 127
6.3.5 拟牛顿法 128
6.4 最小二乘. 132
6.4.1 线性最小二乘.. 133
6.4.2 非线性最小二乘. 133
第7 章 迭代法136
7.1 线性方程组的迭代法 136
7.1.1 一阶定常格式迭代法.. 136
7.1.2 Krylov 子空间算法 142
7.1.3 无约束优化方法. 147
7.2 非线性方程组的迭代法 147
7.2.1 不动点迭代.. 148
7.2.2 Newton-Raphson 迭代. 149
7.2.3 无约束优化方法. 152
第8 章 插值与拟合153
8.1 插值 153
8.1.1 常见的插值算法. 154
8.1.2 插值的应用.. 158
8.2 拟合 163
8.2.1 常见的拟合算法. 164
8.2.2 拟合的应用.. 166
参考文献169
本书取名“算法笔记”,主要源自作者在中国科学院读书期间学习算法时的体会,可以作为现有算法教科书的补充。本书讨论了计算机算法相关的若干话题,在介绍算法的同时结合了作者自己对数学背景、应用场景的理解,便于读者把握算法的核心思想。阅读本书需要有一定的数学基础和算法基础。
许多经典的算法教科书都详尽地介绍了算法的各个知识点,但在覆盖面广的同时难免会忽略许多细节问题。例如,哪些算法真正值得运用到实际问题中,算法有哪些变种值得我们了解,算法背后有哪些数学理论支撑,等等。
本书共包括8 章。各章中除了讲解基本知识,还回答了许多相关的有趣问题。
l 排序:排序算法有很多种,在比较流行的编程语言中都有提供排序算法的库函数,直接调用这些库函数会非常简单。但它们所使用的算法为何有效,这些算法与一些经典的排序算法又有什么区别?
l 哈希:在讲解哈希算法时一般主要介绍哈希函数的作用及哈希表的不同实现方法。但将哈希函数运用于不同的问题时,最为巧妙的地方在于哈希函数的设计。对于不同领域的问题,哈希函数都有哪些有趣的形式?
l 动态规划与近似算法:通常这两类算法并不会放在一起去探讨。在面对不同复杂性的问题时,它们会有怎样的互补作用?
l 高斯消去法:算法的基本过程是很简单的,但在实际使用中远远没有那么简单。如何保持计算的稳定性?如何解决稀疏矩阵的计算效率问题?
l 图论与线性规划:图论中的许多问题都可以用线性规划去解决。图论中的一些经典结论实质上也可以用线性规划的相关定理去解释。线性规划作为一个更一般的工具,如何用于处理图论问题?
l 无约束优化:无约束优化主要用于求解函数的最大值或最小值的问题。常用的这些方法为何有效?它们之间的差别在哪里?
l 迭代法:常见的迭代算法都有哪些?它们为什么有效?
l 插值与拟合:插值与拟合的思想是什么?有什么异同?如何运用于图像处理?
读者可以发现,本书不仅指出了哪些算法可以解决问题,还指出了哪些算法可以更好地解决问题。这有助于我们对算法的深入理解。
由于作者水平有限,书中难免有错误和不足之处,欢迎读者批评和指正。
刁瑞、谢妍
2016 年7 月
算法笔记 下载 mobi pdf epub txt 电子书 格式 2024
算法笔记 下载 mobi epub pdf 电子书还没看,做活动价格便宜,先给好评
评分发货有点慢,但是书不错,好好学习
评分讲的很细,大家说不错,买来看看
评分618优惠力度很大,非常喜欢…只是【高性能MySQL】没有塑封,有明显的黑印,有点影响心情,不过总体还是非常满意的。
评分趁着618买的.同学推荐的书应该还不错
评分帮同事下单买的,很不错,很好,物流很快。
评分还不错还不错还不错还不错
评分可以。。。。。。。。。。。。。。。。。。。。
评分东西很好 物流很快 态度很好
算法笔记 mobi epub pdf txt 电子书 格式下载 2024