卡特兰数

声明:请勿转载!
卡特兰数前几项: 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 ni1个,则得出卡特兰数递推式为 ∑ 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=0n1cata(i)cata(ni1)

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,n1)
通项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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值