diff --git a/README.md b/README.md index 2351716..8fe026d 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ ##学习方法 * 把所有经典算法写一遍 -* 看算法源码 +* 看算法有关源码 * 加入算法学习社区,相互鼓励学习 * 看经典书籍 * 刷题 diff --git a/pre.md b/pre.md index 053a89e..09803fd 100644 --- a/pre.md +++ b/pre.md @@ -2,9 +2,10 @@ ### 数学是基础 +微积分 +概率论和统计学 线性代数(矩阵,向量) 数值数学(数值分析,线性规划,凸优化理论,常见数值优化算法) -概率论和统计学 实分析和泛函的基础 diff --git a/数学/README.md b/数学/README.md index b6ce8c9..7969937 100644 --- a/数学/README.md +++ b/数学/README.md @@ -1,12 +1,23 @@ ->数学是科学的皇后 ->数学是对自然界事实的总结和归纳,又是抽象思考的结果 +## 数学 + +>数学是科学的皇后 +>数学是对自然界事实的总结和归纳,又是抽象思考的结果 >数学是上帝描写自然的语言 —— 伽利略 +* 刷题,练习 +* 避免纯数学性推导,先弄清楚每门学问要解决的问题是什么,理清知识脉络 +* 可汗学院,网易公开课,知乎,google + + + ### 初等数学 -也就是大学以前学习的数学内容。主要以研究常量为主 +也就是大学以前学习的数学内容。包括代数,几何,集合论 + +初等数学看重的是应用能力,很多定理都是靠记忆。比如很多定理,你记住它然后会懂得算就OK了。高等数学看重的是翻译能力,这个翻译指的是把逻辑翻译成数学语言。 + ###微积分 @@ -24,29 +35,128 @@ 极限理论是微积分的基础 微积分包括`微分` 和 `积分` ,微分和积分互为逆运算。 -*微分*: `极限理论` 、 `导数` 、`微分` 是一套关于关于变化率的理论,将函数,速度,加速度,曲线,曲率用一套通用符号表示。 +**微分**: 内容有 `极限理论` 、 `导数` 、`微分`, 是一套关于关于变化率的理论,将函数,速度,加速度,曲线,曲率用一套通用符号表示。 +**积分**: 内容有`定积分 ` 和 `不定积分` , 是计算面积和体积的一套理论方法。 -*积分*: 内容有`定积分 ` 和 `不定积分` , 是计算面积和体积的一套理论方法 +#### 极限理论 +#### 一元微积分 + + +#### 多元微积分 + + +#### 空间解析几何 + + +#### 级数理论 + + +#### 常微分方程 + + +#### 参考 + +《常微分方程》 也是要刷题的 +《网易公开课》 + ### 线性代数 `线性代数`是数学的另一个分支,研究对象是`向量` `矩阵` `线性变换` `线性方程组` +#### 矩阵 + + +#### 线性方程组 + + +#### 向量 + + +#### 秩与维数 + + +#### 正交化 + + +#### 特征值与特征向量 + + + +#### 参考 + +《线性代数》 李尚志 +《线性代数及其应用》 David C. Lay +《网易公开课》 + ### 概率论与数理统计 +#### 随机变量 + +#### 概率分布 + +#### 随机变量的数字特征 + + +#### 参数估计 + + +#### 假设检验 + +#### 回归分析 + + + +#### 应用领域 + +实现winzip +基于全概率公式的贝叶斯分类算法,数据挖掘,自然语言处理 +垃圾邮件过滤 +打tag +网络性能分析,评估服务质量 + + +[知乎](http://www.zhihu.com/question/25047877) + +#### 参考 + +《概率论与数理统计》 陈希儒 + + ### 离散数学 +> 知乎网友:http://www.zhihu.com/question/38040913 +>一切算法的基础都是离散数学 +>一切加密的理论基础都是离散数学 +>编程时候很多奇怪的小技巧(特别是所有和位计算相关的东西)核心也是离散数学 + +离散数学可以看做是数学和计算机之间的桥梁。计算机只懂得离散。 + +离散数学是计算机算法的基础 + +离散数学最重要的两个内容:数论和图论 + + +#### 集合论 + +#### 数理逻辑 + + +#### 图论 + +#### 应用领域 + +算法 语言信息处理 -互联网技术 数据挖掘和机器学习 @@ -54,4 +164,4 @@ ### 推荐阅读 《数学之美》 吴军 - +《思考的乐趣》《Matrix67数学笔记》 顾森 Matrix67 http://www.matrix67.com/blog/ diff --git a/海量数据处理/README.md b/海量数据处理/README.md index 712a596..1464189 100644 --- a/海量数据处理/README.md +++ b/海量数据处理/README.md @@ -162,8 +162,8 @@ int hashcode(int cap,int seed, string key){ ##### 参考 -http://www.cnblogs.com/heaad/archive/2011/01/02/1924195.html -http://blog.csdn.net/jiaomeng/article/details/1495500 +http://www.cnblogs.com/heaad/archive/2011/01/02/1924195.html +http://blog.csdn.net/jiaomeng/article/details/1495500 http://pages.cs.wisc.edu/~cao/papers/summary-cache/node8.html `哈希函数个数k、位数组大小m` 测试论证 @@ -299,6 +299,8 @@ trie树的增加和删除都比较麻烦,但索引本身就是写少读多, ### 数据库索引 +数据库索引一般使用B树(B+树,RB树)实现。 + diff --git a/算法问题选编/数值问题.md b/算法问题选编/数值问题.md index 3096727..74bc07f 100644 --- a/算法问题选编/数值问题.md +++ b/算法问题选编/数值问题.md @@ -162,6 +162,7 @@ double Power(double base, int exponent) } ``` + 上面的代码没有考虑: exponent<=0 判断一个浮点数是不是等于0时,不是直接写 base == 0 ,而应该判断它们的差的绝对值是不是小于一个很小的范围