/GeekTimeProgramMathBasicNotes

Notes on "The Mathematical Basic Course for Programmers" in Geek Time

GeekTimeProgramMathBasicNotes

记录在《极客时间》平台上《程序员的数学基础课》专栏的学习笔记
作者信息:黄申 LinkedIn资深数据科学家、前IBM研究科学家、前微软亚洲研究院研究员
课程海报如下:欢迎扫描海报右下方二维码订阅(有优惠哦)

课程海报

目录

正文

开篇词 作为程序员,为什么你应该学好数学

导读:程序员应该怎么学数学?

第1讲 二进制:不了解计算机的源头,你学什么编程

第2讲 余数:原来取余数本身就是个哈希函数

第3讲 迭代法:不同编程语言的自带函数,你会如何计算平方根

第4讲 数学归纳法:如何用数学归纳提升代码的运行效率?

第5讲 递归(上):泛化数学归纳,如何将复杂问题简单化

第6讲 递归(下):分而治之,从归并排序到MapReduce

我们为什么需要反码和补码?

位操作的三个应用实例

第7讲 排序:如何让计算机学会“田忌赛马”?

第8讲 组合:如何让计算机安排世界杯的赛程?

第9讲 动态规划(上):如何实现基于编辑距离的查询推荐?

第10讲 动态规划(下):如何求得状态转移方程并进行编程实现?

第11讲 树的深度优先搜索(上):如何才能高效率地查字典?

第12讲 树的深度优先搜索(下):如何才能高效率地查字典?

第13讲 树的广度优先搜索(上):人际关系的六度理论是真的吗?

第14讲 树的广度优先搜索(下):为什么双向广度优先搜索的效率更高

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

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

未完待续……

觉得有价值 感谢支持

赞赏码