感謝leetcode官方送給的聖誕帽,merry christmas ! 唔哈~~~~
給定乙個整數 n,求以 1 ... n 為節點組成的二叉搜尋樹有多少種?
示例:
輸入: 3
輸出: 5
解釋:給定 n = 3, 一共有 5 種不同結構的二叉搜尋樹:
分析:
此題可以採用動態規劃來計算種類數
令f(n)表示,n個節點可以構成的二叉搜尋樹的種類數;
當n=1時,只有一種結構,f(n)=1;
當n=2時,兩個節點分別作為根節點,剩下的乙個節點數目和,f(1)+f(1)
當n=3時,第乙個節點作為根節點,剩下兩個節點能夠組成,f(2)
第二個節點作為根結點時,前乙個和後乙個的和,f(1)*f(1)
第三個節點作為根節點是,前兩個節點構成,f(2)
因此,當f(3)=f(2)+f(1)*f(1)+f(2)=5
當n=4時,f(4)=f(3)+f(1)*f(2)+f(2)*f(1)+f(3)=14
故,我們令f(0)=1,以便於計算
遞推式如下
f(n)=f(0)*f(n-1)+f(1)*f(n-2)+...+f(n-2)*f(1)+f(n-1)
**如下:
1另一種數學解法,直接返回c(2n,n) / (n+1)class
solution 20}
21return
a[n];22}
23 };
leetcode 96 不同的二叉搜尋樹
給定乙個整數 n,求以 1 n 為節點組成的二叉搜尋樹有多少種?示例 輸入 3 輸出 5 解釋 給定 n 3,一共有 5 種不同結構的二叉搜尋樹 1 3 3 2 1 3 2 1 1 3 2 2 1 2 3n 0 表示,有0個點,那麼,可以組成的二叉查詢樹就乙個,那就是空樹 n 1表示,有1個點,那麼...
Leetcode 96 不同的二叉搜尋樹
給定乙個整數 n,求以 1 n 為節點組成的二叉搜尋樹有多少種?示例 輸入 3 輸出 5 解釋 給定 n 3,一共有 5 種不同結構的二叉搜尋樹 1 3 3 2 1 3 2 1 1 3 2 2 1 2 3主要參考 本題其實是構造卡特蘭數的應用,採用動態規劃思想求解。通過求解出子問題來實現最終問題的求...
leetcode96 不同的二叉搜尋樹
給定乙個整數 n,求以 1 n 為節點組成的二叉搜尋樹有多少種?示例 輸入 3 輸出 5 解釋 給定 n 3,一共有 5 種不同結構的二叉搜尋樹 1 3 3 2 1 3 2 1 1 3 2 2 1 2 3 我們把n 0 時賦為1,因為空樹也算一種二叉搜尋樹,假設n個節點存在二叉排序樹的個數是g n ...