Catalan Number 卡特蘭數

2021-08-01 05:33:42 字數 1031 閱讀 3744

卡特蘭數是乙個比較有意思的數列,有幾個經典問題的模型如下:

1.n對括號的合法表示式有多少種可能,其中答案為c(n) (表示卡特蘭數列的第n項)。

2.有n個節點的二叉樹的所有可能形態有多少種,也是c(n)。

3.計算有n+1個葉節點的滿二叉樹有多少種,也是c(n)。

4.序列的所有排列中不出現 123 或者任何乙個長度為三的指定序列的所有可能數。

5.把n+2邊形劃分成三角形(連線不相鄰頂點並且使得n+2邊形被劃分後只有三角形)的所有可能數。

其中卡特蘭數的前幾項如下:

1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, …

卡特蘭數求法:

1. 遞迴形式:

採用該方法計算第n項卡特蘭數的時間複雜度為:

2.動態規劃:

#includeusing namespace std;

// a dynamic programming based function to find nth

// catalan number

unsigned long int catalandp(unsigned int n)

return res;}

// a binomial coefficient based function to find nth catalan

// number in o(n) time

unsigned long int catalan(unsigned int n)

// driver program to test above functions

int main()

本文參考自:

文中**均來自此**!

Catalan Number 卡特蘭數

其前幾項為 1,1,2,5,14,42,132,429,1430,4862,16796,58786,208012,742900,2674440,9694845,35357670,129644790,477638700,1767263190,6564120420,24466267020,9148256...

卡特蘭數(catalan number)

卡塔蘭數是組合數學中乙個常在各種計數問題中出現的數列。公式為 前幾項為 n 0,1,2,3,4,5時 1,1,2,5,14,42 2.1 乙個棧的進棧次序為1 2 3 n。有多少種不同的出棧次序?當 2.2 有n個結點,總共能構成幾種不同的二叉樹?當 2.3 其它常見問題 1.n對括號有多少種匹配方...

卡特蘭數 Catalan number

卡特蘭數的一種常用計算公式 c 2n,n c 2n,n 1 從 0,0 出發到 n,n 每次只能向右或向上,不可以越過藍線,即不能走到紅線上。如果不受紅線限制從 0,0 出發到 n,n 的所有方案有c 2n,n 中,可以理解為在2n次移動中選擇n次做向右或向上運動。那麼拿全集減去走到紅線上的方案就是...