记录在《极客时间》平台上《程序员的数学基础课》专栏的学习笔记
作者信息:黄申 LinkedIn资深数据科学家、前IBM研究科学家、前微软亚洲研究院研究员
课程海报如下:欢迎扫描海报右下方二维码订阅(有优惠哦)
- 开篇词 作为程序员,为什么你应该学好数学
- 导读:程序员应该怎么学数学?
- 第1讲 二进制:不了解计算机的源头,你学什么编程
- 第2讲 余数:原来取余数本身就是个哈希函数
- 第3讲 迭代法:不同编程语言的自带函数,你会如何计算平方根
- 第4讲 数学归纳法:如何用数学归纳提升代码的运行效率?
- 第5讲 递归(上):泛化数学归纳,如何将复杂问题简单化
- 第6讲 递归(下):分而治之,从归并排序到MapReduce
- 我们为什么需要反码和补码?
- 位操作的三个应用实例
- 第7讲 排序:如何让计算机学会“田忌赛马”?
- 第8讲 组合:如何让计算机安排世界杯的赛程?
- 第9讲 动态规划(上):如何实现基于编辑距离的查询推荐?
- 第10讲 动态规划(下):如何求得状态转移方程并进行编程实现?
- 第11讲 树的深度优先搜索(上):如何才能高效率地查字典?
- 第12讲 树的深度优先搜索(下):如何才能高效率地查字典?
- 第13讲 树的广度优先搜索(上):人际关系的六度理论是真的吗?
- 第14讲 树的广度优先搜索(下):为什么双向广度优先搜索的效率更高
- 第15讲 从树到图:如何让计算机学会看地图
- 第16讲 时间和空间复杂度(上):优化性能是否只是“纸上谈兵”
- 未完待续……