首页 > 代码库 > Unique Binary Search Trees
Unique Binary Search Trees
问题:n个结点总共有多少个二叉搜索树
分析:n=1,sum1=1
n=2,sum2=2;
n=3,sum3=2(头结点为1)+1(头结点为2)+2(头结点为3)
n=4,sum4=5(头结点为1,sum3)+2(头结点为2,sum1*sum2)+2(头结点为3,sum2*sum1)+5(头结点为4,sum3)
n=5,sum5=14(sum4)+5(sum1*sum3)+4(sum2*sum2)+5(sum1*sum3)+14(sum4)
.....以此类推
class Solution {public: int numTrees(int n) { int a[100]={0},i,j; a[0]=1; a[1]=1; for(i=2;i<=n;i++) { for(j=0;j<i;j++) { a[i]+=a[j]*a[i-1-j]; } } return a[n]; }};
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。