卡特兰数
一、卡特兰数原理
设h(n)为catalan数的第n项,令h(0)=1,h(1)=1,catalan数满足
递推式:
h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)*h(0) (n>=2)
例如:h(2)=h(0)*h(1)+h(1)*h(0)=1*1+1*1=2
h(3)=h(0)*h(2)+h(1)*h(1)+h(2)*h(0)=1*2+1*1+2*1=5
另类递推式:
h(n)=h(n-1)*(4*n-2)/(n+1);
递推关系的解为:
h(n)=C(2n,n)/(n+1) (n=0,1,2,...)
递归关系的另类解为
h(n)=c(2n,n)-c(2n,n-1)(n=0,1,2,...)
一、卡特兰数应用
-
括号化
-
出栈次序
-
凸多边形三角划分
-
给定节点组成二叉搜索树
-
n对括号正确匹配数目