课程介绍
程序员的数学基础课
其数学基础的好与坏,直接决定了程序员的发展潜力。
从长远来看,数学是一种思维模式,考验一个人的归纳、总结和抽象的能力。将这种能力放在程序员的世界中,实际上是解决问题的能力。
从小到大,很多基础的编程技巧都是从数学中学到的,不管是数据结构、算法还是程序设计。举例来说,您熟悉的分页功能实际上利用了其他思想。
因此许多大企业招聘学生,都会优先录取数学专业的毕业生。计算的基础好,学习编程也比较容易掌握。
假如一种编程语言是血肉,那么数学思想与知识就是灵魂。可帮助您选择适当的数据结构和算法,提高系统效率,并赋予机器智能。特别是在大数据、智能时代,更是如此。
所以,学习数学决不能死记硬背那些难懂的定理和公式,深刻地认识技术的本质,掌握知识规律,具备数学思维,具有发现问题、分析问题、解决问题的能力,是你最终的目标。
那么编程人员到底应该怎么学数学?本栏目中,黄申从程序设计的角度,结合自己十多年的学术经验和工业实践,总结出一套适合程序员的数学学习方法与知识体系。期望透过「知识-应用-知识」的讲解路线,奉献给您一堂实用、精彩的数学课。
栏目共有四个模块,是专门介绍那些程序员真正用到的数学知识。
基础思想篇
对程序设计中最常用的数学概念和思想,如余数、迭代、排列、组合、由浅入深、数据结构和数学如何你中有你。帮助您充分掌握这些最基本、最核心的数学知识,并使您理解数学对编程和算法的真正意义。
概率统计篇
用机率统计最核心的贝叶斯公式作为圆心,解释随机变量,概率分布这些基本概念,解释朴素贝叶斯,分析其在生活、编程等方面的实际应用,在应用中反哺概念。使您能够真正了解概率统计的本质,跨越概念与应用之间的差距。
线性代数篇
以线性代数、矩阵和线性方程为基础,逐步深入地分析这些概念是如何在计算机上互相帮助,融会贯通地解决实际问题的。例如,线性代数到底在说什么?如何使电脑了解真实世界?怎样过滤多余信息?在新技术中,从概念到应用,再到本质,让你不再惧怕“老知识”。
综合实战篇
以上所介绍的数学知识及概念,透过缓存系统、搜索引擎、推荐系统,使您有更深入的了解,学会用数学思维分析问题、解决问题,使数学思考成为一种基本能力。
课程大纲
| ├──01讲二进制:不了解计算机的源头,你学什么编程.pdf 1.75M
| ├──01讲二进制:不了解计算机的源头,你学什么编程.mp3 14.27M
| ├──02讲余数:原来取余操作本身就是个哈希函数.pdf 1.47M
| ├──02讲余数:原来取余操作本身就是个哈希函数.mp3 9.79M
| ├──03讲迭代法:不用编程语言的自带函数,你会如何计算平方根.pdf 1.19M
| ├──03讲迭代法:不用编程语言的自带函数,你会如何计算平方根.mp3 10.67M
| ├──04讲数学归纳法:如何用数学归纳提升代码的运行效率.pdf 1.93M
| ├──04讲数学归纳法:如何用数学归纳提升代码的运行效率.mp3 11.07M
| ├──05讲递归(上):泛化数学归纳,如何将复杂问题简单化.pdf 1.07M
| ├──05讲递归(上):泛化数学归纳,如何将复杂问题简单化.mp3 8.41M
| ├──06讲递归(下):分而治之,从归并排序到MapReduce.pdf 2.13M
| ├──06讲递归(下):分而治之,从归并排序到MapReduce.mp3 12.80M
| ├──07讲排列:如何让计算机学会“田忌赛马”.pdf 1.05M
| ├──07讲排列:如何让计算机学会“田忌赛马”.mp3 10.17M
| ├──08讲组合:如何让计算机安排世界杯的赛程.pdf 1.11M
| ├──08讲组合:如何让计算机安排世界杯的赛程.mp3 11.09M
| ├──09讲动态规划(上):如何实现基于编辑距离的查询推荐.pdf 1.32M
| ├──09讲动态规划(上):如何实现基于编辑距离的查询推荐.mp3 10.23M
| ├──10讲动态规划(下):如何求得状态转移方程并进行编程实现.pdf 1.22M
| ├──10讲动态规划(下):如何求得状态转移方程并进行编程实现.mp3 9.04M
| ├──11讲树的深度优先搜索(上):如何才能高效率地查字典.pdf 2.02M
| ├──11讲树的深度优先搜索(上):如何才能高效率地查字典.mp3 9.93M
| ├──12讲树的深度优先搜索(下):如何才能高效率地查字典.pdf 1.63M
| ├──12讲树的深度优先搜索(下):如何才能高效率地查字典.mp3 11.47M
| ├──13讲树的广度优先搜索(上):人际关系的六度理论是真的吗.pdf 1.79M
| ├──13讲树的广度优先搜索(上):人际关系的六度理论是真的吗.mp3 14.03M
| ├──14讲树的广度优先搜索(下):为什么双向广度优先搜索的效率更高.pdf 1.85M
| ├──14讲树的广度优先搜索(下):为什么双向广度优先搜索的效率更高.mp3 12.13M
| ├──15讲从树到图:如何让计算机学会看地图.pdf 1.90M
| ├──15讲从树到图:如何让计算机学会看地图.mp3 18.83M
| ├──16讲时间和空间复杂度(上):优化性能是否只是“纸上谈兵”.pdf 1.36M
| ├──16讲时间和空间复杂度(上):优化性能是否只是“纸上谈兵”.mp3 13.61M
| ├──17讲时间和空间复杂度(下):如何使用六个法则进行复杂度分析.pdf 937.34kb
| ├──17讲时间和空间复杂度(下):如何使用六个法则进行复杂度分析.mp3 12.16M
| ├──18讲总结课:数据结构、编程语句和基础算法体现了哪些数学思想.pdf 795.60kb
| ├──18讲总结课:数据结构、编程语句和基础算法体现了哪些数学思想.mp3 13.85M
| ├──19讲概率和统计:编程为什么需要概率和统计.pdf 592.58kb
| ├──19讲概率和统计:编程为什么需要概率和统计.mp3 12.59M
| ├──20讲概率基础(上):一篇文章帮你理解随机变量、概率分布和期望值.pdf 1.38M
| ├──20讲概率基础(上):一篇文章帮你理解随机变量、概率分布和期望值.mp3 14.02M
| ├──21讲概率基础(下):联合概率、条件概率和贝叶斯法则,这些概率公式究竟能做什么.pdf 719.86kb
| ├──21讲概率基础(下):联合概率、条件概率和贝叶斯法则,这些概率公式究竟能做什么.mp3 13.87M
| ├──22讲朴素贝叶斯:如何让计算机学会自动分类.pdf 1.36M
| ├──22讲朴素贝叶斯:如何让计算机学会自动分类.mp3 10.58M
| ├──23讲文本分类:如何区分特定类型的新闻.pdf 942.90kb
| ├──23讲文本分类:如何区分特定类型的新闻.mp3 13.79M
| ├──24讲语言模型:如何使用链式法则和马尔科夫假设简化概率模型.pdf 670.59kb
| ├──24讲语言模型:如何使用链式法则和马尔科夫假设简化概率模型.mp3 14.59M
| ├──25讲马尔科夫模型:从PageRank到语音识别,背后是什么模型在支撑.pdf 1.11M
| ├──25讲马尔科夫模型:从PageRank到语音识别,背后是什么模型在支撑.mp3 13.26M
| ├──26讲信息熵:如何通过几个问题,测出你对应的武侠人物.pdf 1.38M
| ├──26讲信息熵:如何通过几个问题,测出你对应的武侠人物.mp3 13.40M
| ├──27讲决策树:信息增益、增益比率和基尼指数的运用.pdf 675.98kb
| ├──27讲决策树:信息增益、增益比率和基尼指数的运用.mp3 10.13M
| ├──28讲熵、信息增益和卡方:如何寻找关键特征.pdf 433.38kb
| ├──28讲熵、信息增益和卡方:如何寻找关键特征.mp3 9.46M
| ├──29讲归一化和标准化:各种特征如何综合才是最合理的.pdf 511.79kb
| ├──29讲归一化和标准化:各种特征如何综合才是最合理的.mp3 11.28M
| ├──30讲统计意义(上):如何通过显著性检验,判断你的AB测试结果是不是巧合.pdf 957.52kb
| ├──30讲统计意义(上):如何通过显著性检验,判断你的AB测试结果是不是巧合.mp3 10.11M
| ├──31讲统计意义(下):如何通过显著性检验,判断你的AB测试结果是不是巧合.pdf 1.06M
| ├──31讲统计意义(下):如何通过显著性检验,判断你的AB测试结果是不是巧合.mp3 10.55M
| ├──32讲概率统计篇答疑和总结:为什么会有欠拟合和过拟合.pdf 885.49kb
| ├──32讲概率统计篇答疑和总结:为什么会有欠拟合和过拟合.mp3 11.40M
| ├──33讲线性代数:线性代数到底都讲了些什么.pdf 950.14kb
| ├──33讲线性代数:线性代数到底都讲了些什么.mp3 10.34M
| ├──34讲向量空间模型:如何让计算机理解现实事物之间的关系.pdf 639.70kb
| ├──34讲向量空间模型:如何让计算机理解现实事物之间的关系.mp3 11.37M
| ├──35讲文本检索:如何让计算机处理自然语言.pdf 459.67kb
| ├──35讲文本检索:如何让计算机处理自然语言.mp3 12.23M
| ├──36讲文本聚类:如何过滤冗余的新闻.pdf 507.86kb
| ├──36讲文本聚类:如何过滤冗余的新闻.mp3 9.03M
| ├──37讲矩阵(上):如何使用矩阵操作进行PageRank计算.pdf 551.51kb
| ├──37讲矩阵(上):如何使用矩阵操作进行PageRank计算.mp3 8.92M
| ├──38讲矩阵(下):如何使用矩阵操作进行协同过滤推荐.pdf 1.28M
| ├──38讲矩阵(下):如何使用矩阵操作进行协同过滤推荐.mp3 12.97M
| ├──39讲线性回归(上):如何使用高斯消元求解线性方程组.pdf 990.07kb
| ├──39讲线性回归(上):如何使用高斯消元求解线性方程组.mp3 11.93M
| ├──40讲线性回归(中):如何使用最小二乘法进行直线拟合.pdf 759.16kb
| ├──40讲线性回归(中):如何使用最小二乘法进行直线拟合.mp3 9.01M
| ├──41讲线性回归(下):如何使用最小二乘法进行效果验证.pdf 1.02M
| ├──41讲线性回归(下):如何使用最小二乘法进行效果验证.mp3 8.73M
| ├──42讲PCA主成分分析(上):如何利用协方差矩阵来降维.pdf 666.28kb
| ├──42讲PCA主成分分析(上):如何利用协方差矩阵来降维.mp3 10.22M
| ├──43PCA主成分分析(下):为什么要计算协方差矩阵的特征值和特征向量?.pdf 1.21M
| ├──43PCA主成分分析(下):为什么要计算协方差矩阵的特征值和特征向量?.mp3 5.72M
| ├──44奇异值分解:如何挖掘潜在的语义关系?.pdf 762.83kb
| ├──44奇异值分解:如何挖掘潜在的语义关系?.mp3 5.98M
| ├──45 线性代数篇答疑和总结:矩阵乘法的几何意义是什么?.pdf 1.24M
| ├──45 线性代数篇答疑和总结:矩阵乘法的几何意义是什么?.mp3 4.51M
| ├──46 _ 缓存系统:如何通过哈希表和队列实现高效访问?.pdf 1.80M
| ├──46缓存系统:如何通过哈希表和队列实现高效访问?.mp3 4.76M
| ├──47 搜索引擎(上):如何通过倒排索引和向量空间模型,打造一个简单的搜索引擎?.pdf 1.18M
| ├──48搜索引擎(下):如何通过查询的分类,让电商平台的搜索结果更相关?.pdf 647.26kb
| ├──48搜索引擎(下):如何通过查询的分类,让电商平台的搜索结果更相关?.mp3 5.28M
| ├──49推荐系统(上):如何实现基于相似度的协同过滤?.pdf 1.66M
| ├──49推荐系统(上):如何实现基于相似度的协同过滤?.mp3 3.70M
| ├──50 推荐系统(下):如何通过SVD分析用户和物品的矩阵?.mp3 4.24M
| ├──50推荐系统(下):如何通过SVD分析用户和物品的矩阵.pdf 684.56kb
| ├──51 综合应用篇答疑和总结:如何进行个性化用户画像的设计?.mp3 5.53M
| ├──51_综合应用篇答疑和总结:如何进行个性化用户画像的设计.pdf 513.41kb
| ├──导读:程序员应该怎么学数学.pdf 1.56M
| ├──导读:程序员应该怎么学数学.mp3 11.81M
| ├──结束语 从数学到编程,本身就是一个很长的链条.mp3 1.51M
| ├──结束语_从数学到编程,本身就是一个很长的链.pdf 507.49kb
| ├──开篇词讲作为程序员,为什么你应该学好数学.pdf 992.88kb
| ├──开篇词讲作为程序员,为什么你应该学好数学.mp3 7.06M
| ├──数学专栏课外加餐(二)讲位操作的三个应用实例.pdf 776.18kb
| ├──数学专栏课外加餐(二)讲位操作的三个应用实例.mp3 9.91M
| ├──数学专栏课外加餐(三):程序员需要读哪些数学书.pdf 1.97M
| ├──数学专栏课外加餐(三):程序员需要读哪些数学书.mp3 7.73M
| ├──数学专栏课外加餐(一)讲我们为什么需要反码和补码.pdf 1.03M
| └──数学专栏课外加餐(一)讲我们为什么需要反码和补码.mp3 9.62M
声明:本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理,邮箱:502212423@qq.com。