卡特兰数相关问题

卡特兰数:规定C0=1,而C1=1,C2=2,C3=5,C4=14,C5=42,C6=132,C7=429,C8=1430,C9=4862,C10=16796,C11=58786,C12=208012,C13=742900,C14=2674440,C15=9694845

公式为Cn=C(2n, n)/(n+1)=C(2n, n)-C(2n, n-1)

n推导过程C(n)
111
21 12
31 2 25
41 3 5 514
51 4 9 14 1442
61 5 14 28 42 42132
71 6 20 48 90 132 132429
...........

1. 买票找零问题(编程之美4.3)

总数是2n,解是Cn。其中给出了一种容易理解的分析。将两种面值看作左括号和右括号。两个必须成对出现,因此第0个是左括号,并且与其对应的右括号之间括号个数是偶数2i。之后剩余的括号个数是2n-2i-2,0<=i<=n-1。递推求解,得到即为卡特兰数。

2.  出栈次序问题。一个栈(无穷大)的进栈序列为1,2,3,..n,有多少个不同的出栈序列?

解是Cn。

3. 12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种?

解是C6。这个问题从另一个角度来看,就是1-12分别放到第一排和第二排。第一排用左括号表示,第二排用右括号表示。这样就转换成了出栈次序问题。

更多问题http://blog.csdn.net/wuyuegb2312/article/details/9339529#suggestion

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值