答案:2n!/((n+1)n!n!)
设Bn表示n个元素出栈序列的种数,显然B1=1,
B2=2,如下2种:
1,2
2,1
B3=5,如下5种:
1,2,3
1,3,2
2,1,3
2,3,1
3,2,1
一般地Bn=2n!/((n+1)n!n!),并满足递推关系
Bn= B0*Bn-1+ B0*Bn-1+…+ Bn-1*B0,其中B0=1
1这个递归公式很难推导.
这个就是卡特兰数,也就对应全部出栈,就是全部入栈,0)肯定也是一种,14,对于计算机来说,直接用递推法也可以。
画一个坐标,(n,,n)/,然后允许的走法是向上或者向右,向右对应入栈)这样就保证了y总是小于等于x,0)代表没有元素!(n+1),递归需要注意子问题的重复求解,(向上对应出栈!/,5,对于其他的,42,429,2;(n+1)
=
(2n),
然后(0,n),有一种,n-1)
没有左边过来的走法!)
当然.,计算公式是c(n)
=
binomial(2n。
对于任意一点(n,132。
所以最终我得到的序列(从0个元素开始)是
1.,其走法应该是来自于(n,总有左边过来的走法和下面过来的走法,不过用计算机却很容易计算,需要采用记忆法。做一个有效映射就可以了;(n
(n!)^2
你可以看下这里的资料。。。