Please enable Javascript to view the contents

程序员的数学基础课

 ·  ☕ 2 分钟

别人学习内容,我学习目录,摘抄如下

专栏模块

专栏用 42 节,四大模块,精讲那些程序员真正用得上的数学知识。

  • 基础思想篇

梳理了编程中最常用的数学概念和思想,比如余数、迭代、排列、组合,由浅入深精讲数据结构与数学是如何你中有我,我中有你。帮你彻底掌握这些最基础、最核心的数学知识,同时也能让你明白,数学对编程和算法究竟意味着什么。

  • 概率统计篇

以概率统计中最核心的贝叶斯公式为圆心,向上讲解随机变量、概率分布这些基础概念,向下讲解朴素贝叶斯,并分析它们在生活和编程中的实际应用,在应用中反哺概念。让你真正理解概率统计的本质,跨过概念和应用之间的鸿沟。

  • 线性代数篇

从线性代数中最核心的概念向量、矩阵、线性方程入手,逐步深入分析,这些概念是如何与计算机互帮互助,融会贯通,解决实际问题的。比如,线性代数究竟是在讲什么?怎样让计算机理解现实世界?如何过滤冗余的新闻?从概念到应用,再到本质,让你不再害怕新技术中的“旧知识”。

  • 综合实战篇

将通过缓存系统、搜索引擎、推荐系统中的实际应用,串讲前面讲到的数学知识和概念,帮你加深对知识的理解,学会用数学思维来分析问题和解决问题,让数学思维成为你的一种基础能力。

专栏详细目录如下:

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

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

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

02 | 余数:原来取余操作本身就是个哈希函数

03 | 迭代法:不用编程语言的自带函数,你会如何计算平方根?

04 | 数学归纳法:如何用数学归纳提升代码的运行效率?

05 | 递归(上):泛化数学归纳,如何将复杂问题简单化?

06 | 递归(下):分而治之,从归并排序到MapReduce

数学专栏课外加餐(一) | 我们为什么需要反码和补码?

数学专栏课外加餐(二) | 位操作的三个应用实例

07 | 排列:如何让计算机学会“田忌赛马”?

08 | 组合:如何让计算机安排世界杯的赛程?

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

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

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

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

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

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

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