首页 > 其他 > 详细

Unique Binary Search Trees

时间:2014-08-04 13:53:47      阅读:301      评论:0      收藏:0      [点我收藏+]

问题: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];
    }
};

  

Unique Binary Search Trees,布布扣,bubuko.com

Unique Binary Search Trees

原文:http://www.cnblogs.com/zsboy/p/3889764.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!