Skip to content

数据结构与算法中的数学

Math in DSA

在绪论PPT中,声称我们将用到这些数学知识。如果在正式开始学习之前,你能够将这些内容简单了解一下,想必会有帮助。

离散数学: 集合、偏序集、良序、数学归纳法、级数、递归/递推、排列/组合、 Stirling逼近、 Fib数、 Catalan数

概率: 概率、 随机分布、 数学期望、 期望值的线性率、几何分布

可以尝试利用一些AIGC工具来学习这些概念。

一些推荐的读物/网课:

《具体数学》(Concrete Math)

MIT 6.042 Mathematics for Computer Science

学习数据结构课程不需要精通这些书籍、网课,但对感兴趣的同学来说,开卷有益。

几道自我测试题

  1. 扔一枚理想的硬币 10 次,正面次数的期望是多少?实际的正面次数有多大的概率,恰好等于正面次数的期望? (概率,数学期望)
  2. 某款软件声称,每邀请一名好友助力,可得到 \(\frac{1}{已助力人数}\) 元 的红包。假如全球人都为你助力, 你大约能得到多少元的红包?(级数)
  3. 在五子棋的棋盘上,摆放四枚白棋、四枚黑棋,有多少种不同的摆法?(排列组合)

(或许现在的一些AIGC工具能完成这些题目,但还是建议你亲自理解这些题目中的数学概念!)