声明:请勿转载!
卡特兰数前几项:
1
,
2
,
5
,
14
,
42
,
132
1, 2, 5, 14, 42, 132
1,2,5,14,42,132。
1.进出栈问题
栈是一种先进后出的数据结构,考虑用 1 1 1表示进栈,用 − 1 -1 −1表示出栈,总共有 n n n个元素进出栈,计算有多少种不同的进出栈序列。
2.递推式
用 C a t a ( n ) Cata(n) Cata(n)表示上述问题规模为 n n n时的方案书,考虑最后一个出栈的元素,比其先进栈先出栈的元素有 i i i个,则比其后进栈先出栈的元素有 n − i − 1 n-i-1 n−i−1个,则得出卡特兰数递推式为 ∑ i = 0 n − 1 c a t a ( i ) ∗ c a t a ( n − i − 1 ) \sum_{i=0}^{n-1}cata(i)*cata(n-i-1) ∑i=0n−1cata(i)∗cata(n−i−1)。
3.通项式
考虑其等价问题,出栈序列的任意一个前缀的前缀和都
≥
0
\ge 0
≥0。
通项公式1:
C
(
2
n
,
n
)
−
C
(
2
n
,
n
−
1
)
C(2n,n)-C(2n,n-1)
C(2n,n)−C(2n,n−1)。
通项1推导及其推广:
卡特兰数通项公式推导及证明
通项公式2:
C
(
2
n
,
n
)
n
+
1
\frac{C(2n,n)}{n+1}
n+1C(2n,n)。
通项2可以通过生成函数证明。
参考资料:
https://blog.csdn.net/wookaikaiko/article/details/81105031
https://blog.csdn.net/qq_30115697/article/details/88906534