1. 程式人生 > >棧的出棧序列個數

棧的出棧序列個數

全部 ont 出棧 答案 catalan 入棧 依次 size spa

有n個數$1,2,3,4,...n$依次入棧,不必等全部的數入完再出,問有多少個出棧順序?

解:

   設問題答案是$f(n)$ ,$f(1)=1,f(2)=2$

分n種情況:

1最後出來: $ f(n)$

k最後出來:$f(k-1)*f(n-k)$

所以 $$f(n+1)=f(n)+f(n-1)f(1)+f(n-2)f(2)+......f(k)f(n-k)+......f(n)$$

這是Catalan數的遞推式:

  得$$f(n)=\frac{C^{n}_{2n}}{n+1}$$

棧的出棧序列個數