Catalan数总结

参考维基百科 Catalan数详解
这里只是把常见的公式搬过来

设Catalan数的第n项为 hn h n ,定义 h0=h1=1 h 0 = h 1 = 1 则有如下两个常用递推式

hn=h0hn1+h1hn2+...+hn1h0,n>=2 h n = h 0 h n − 1 + h 1 h n − 2 + . . . + h n − 1 h 0 , n >= 2

hn=4n2n+1hn1,n>=1 h n = 4 n − 2 n + 1 h n − 1 , n >= 1

通项公式为

hn=Cn2nn+1,n>=0 h n = C 2 n n n + 1 , n >= 0
hn=Cn2nCn12n,n>=0 h n = C 2 n n − C 2 n n − 1 , n >= 0

//Catalan数的前30项
h[0] = 1
h[1] = 1
h[2] = 2
h[3] = 5
h[4] = 14
h[5] = 42
h[6] = 132
h[7] = 429
h[8] = 1430
h[9] = 4862
h[10] = 16796
h[11] = 58786
h[12] = 208012
h[13] = 742900
h[14] = 2674440
h[15] = 9694845
h[16] = 35357670
h[17] = 129644790
h[18] = 477638700
h[19] = 1767263190
h[20] = 6564120420
h[21] = 24466267020
h[22] = 91482563640
h[23] = 343059613650
h[24] = 1289904147324
h[25] = 4861946401452
h[26] = 18367353072152
h[27] = 69533550916004
h[28] = 263747951750360
h[29] = 1002242216651368
h[30] = 3814986502092304

典型的应用问题

  • 矩阵链乘: P=a1×a2×a3×……×an,依据乘法结合律,不改变其顺序,只用括号表示成对的乘积,试问有几种括号化的方案?
  • 出栈次序问题,一个栈(无穷大)的进栈序列为1,2,3,..n,有多少个不同的出栈序列?
  • 将一个凸多边形区域分成三角形区域的方法数?
  • 给定N个节点,能构成多少种形状不同的二叉树?
  • ……
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值