20、概率基础(上):一篇文章帮你理解随机变量、概率分布和期望值

你好,我是黄申。 相信你对变量这个概念并不陌生,数学方程式和编程代码里经常会用到变量。那什么是变量呢?我们在概率中常说的随机变量( random variable)和普通的变量(variable)又有什么不同呢? 这些问题其实很简单,我一说你就明白了...

程序员的数学基础课

19、概率和统计:编程为什么需要概率和统计

你好,我是黄申。 通过第一个模块的学习,我想你对离散数学在编程领域中的应用,已经有了比较全面的认识。可以看出来,数据结构和基础算法体现的大多数都是离散数学的思想。这些思想更多的时候是给我们提供一种解决问题的思路,在具体指导我们解决问题的时候,我们还需...

程序员的数学基础课

18、总结课:数据结构、编程语句和基础算法体现了哪些数学思想

你好,我是黄申。 之前的17讲,我们从小处着眼,介绍了离散数学中最常用的一些知识点。我讲到了很多数据结构、编程语句和基础性算法。这些知识点看似是孤立的,但是内部其实有很多联系。今天这一节,我们就来总结一下前面讲过的内容,把之前讲过的内容串联起来。 数...

程序员的数学基础课

17、时间和空间复杂度(下):如何使用六个法则进行复杂度分析

你好,我是黄申,今天我们接着聊复杂度分析的实战。 上一讲,我从数学的角度出发,结合自身经验给你总结了几个分析复杂度的法则。但是在实际工作中我们会碰到很多复杂的问题,这个时候,正确地运用这些法则并不是件容易的事。今天,我就结合几个案例,教你一步步使用这...

程序员的数学基础课

16、时间和空间复杂度(上):优化性能是否只是“纸上谈兵”

你好,我是黄申。 作为程序员,你一定非常清楚复杂度分析对编码的重要性。计算机系统从最初的设计、开发到最终的部署,要经过很多的步骤,而影响系统性能的因素有很多。我把这些因素分为三大类:算法理论上的计算复杂度、开发实现的方案和硬件设备的规格。 如果将整个...

程序员的数学基础课

15、从树到图:如何让计算机学会看地图

你好,我是黄申。 我们经常使用手机上的地图导航App,查找出行的路线。那计算机是如何在多个选择中找到最优解呢?换句话说,计算机是如何挑选出最佳路线的呢? 前几节,我们讲了数学中非常重要的图论中的概念,图,尤其是树中的广度优先搜索。在广度优先的策略中,...

程序员的数学基础课
11920212223673