首页 > 其他 > 详细

[LeetCode_96] Unique Binary Search Trees

时间:2019-01-22 21:24:16      阅读:168      评论:0      收藏:0      [点我收藏+]

题目链接

https://leetcode.com/problems/unique-binary-search-trees/

题意

计算给定节点数的BST有多少种

思路

递归

相关知识

二叉搜索树(Binary Search Tree ,BST)

定义:
1.所有非叶子结点至多拥有两个儿子(Left和Right);
2.所有结点存储一个关键字;
3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树。

特点:
1.每个节点的值大于其任意左侧子节点的值,小于其任意右节点的值。
2.平衡时性能逼近二分查找,但相比连续内存空间的二分查找,插入删除操作开销更小,但多次插入删除可能造成树的不平衡,最坏接近线性查找。

代码

class Solution {
public:
    int numTrees(int n) {
        if(n==0||n==1){return 1;}
        else{
            int BSTCnt=0;
            for(int i=1;i<=n;i++){
                BSTCnt+=numTrees(i-1)*numTrees(n-i);
            }
            return BSTCnt;
        }
    }
};

reference

https://www.cnblogs.com/Leo_wl/p/5229585.html

[LeetCode_96] Unique Binary Search Trees

原文:https://www.cnblogs.com/coding-gaga/p/10305878.html

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