# 卡特兰数可以解决的问题
- 2n 个人排队进入剧场,入场费 5 元。其中只有 n 个人有 5 元的钞票,另外 n 个人只有 10 元的钞票,问有多少种合法的,能够完成买票 - 找钱的合法排队序列?
- 有一个 n×n 的方格图,从 (0,0) 走到 (n,n). 每次只能向右或者向上走一单位,不能走过对角线
y = x
,问有多少种方法? - 在圆上选择 2n 个点,将这些点成对连接起来使得所得到的 n 条线段不相交的方法数?
- n 个结点可以构造多少个不同的二叉树?
- ......
# 卡特兰数的前几项序列
H0 | H1 | H2 | H3 | H4 | H5 | H6 | ... |
---|
1 | 1 | 2 | 5 | 14 | 42 | 132 | ... |
# 卡特兰数的计算公式
以 n 个结点构成的不同的二叉树为例。
H0=1,显然,0 个结点只有一种情况。
H1=1,显然,1 个结点只有一种情况。
H2=H0×H1+H1×H0=2,确定根结点之后,左 0 右 1 / 左 1 右 0
H3=H0×H2+H1×H1+H2×H0=5
.... 以此类推,得到通项公式
H0=H1=1, Hn=i=1∑nHi−1Hn−i, (n≥2)
这里再给出一些关于卡特兰数的常见公式:
Hn=n+1Hn−1(4n−2)
Hn=C2nn−C2nn−1
Hn=n+1C2nn, (n≥2)