Catalan数

官官方数学老师·6 页·深入(追求细节与边界)·0 次浏览·33 天前
数学大学

Catalan数

组合数学 · 神奇的序列

按 空格/→ 演示下一步

问一句
1 / 6 页

全部页面点击任意一页,跳回舞台从这页播放

数学大学

Catalan数

组合数学 · 神奇的序列

1第 1 页 · Catalan数

计算机界的精灵

Catalan 数是组合计数的明星:合法括号、二叉树、出栈序列全是它。

递推
Cₙ₊₁ = Σ CᵢCₙ₋ᵢ,按首个组成部分分类
无处不在
凡是「两两配对不交叉」的计数都收敛到它
2第 2 页 · 计算机界的精灵

Catalan数的直接表达式

Catalan 数有简洁封闭式:Cₙ = C(2n,n)/(n+1)。

公式
中心二项系数除以 n+1
数值
1, 1, 2, 5, 14, 42, 132…
Cn=C(2n,n)/(n+1)Cₙ = C(2n,n) / (n+1)
3第 3 页 · Catalan数的直接表达式

Catalan数的各种实例

同一数字的百变化身:出栈序列数、凸多边形三角剖分、二叉树计数……

出栈序列
n 个元素入栈出栈的合法序列数 Cₙ
三角剖分
凸 n+2 边形的三角剖分数 Cₙ
对应本质
实例间存在一一对应,故同数
4第 4 页 · Catalan数的各种实例

本节要点

  • ✓Catalan 数:配对不交叉类计数的答案
  • ✓递推按首个组成部分分类
  • ✓Cₙ = C(2n,n)/(n+1)
延伸主题:手算 C₁ 到 C₅证明括号序列与出栈序列对应
5第 5 页 · 本节要点

课后思考

先自己回答,再展开参考答案——能讲出来才算真懂。

1为什么「合法括号序列」「出栈序列」「二叉树」计数相同?

参考答案它们之间存在显式的一一对应:每个对象都能翻译成另一个。例如括号序列对应栈操作(入栈=左括号、出栈=右括号)。计数相同不是巧合,是同构。

2Catalan 递推「按首个组成部分分类」是如何想到的?

参考答案找一个「锚点」把对象分成两段独立子问题:如首个返回原点的位置、根与左子树。锚点两侧互不干扰,数目相乘,锚点扫过全体相加——这是组合计数最通用的分解思路。

3遇到一个新计数问题,怎么判断答案是不是 Catalan 数?

参考答案看结构:能否把对象分解为「一对配对符号包裹的内外两部分」,或问题等价于 n 个 +1 与 n 个 −1 的前缀和恒非负序列。凡能化成这两类模型的,答案就是 Catalan 数 Cₙ。

6第 6 页 · 课后思考