美文网首页
lintcode-不同的二叉查找树

lintcode-不同的二叉查找树

作者: 鬼谷神奇 | 来源:发表于2016-06-20 23:35 被阅读201次
  • 卡特兰数

    Catalan数是组合数学中一个常出现在各种计数问题中出现的数列。由以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名。
      原理:
      令h(0)=1,h(1)=1,catalan数满足递归式:
      h(n)= h(0)h(n-1) + h(1)h(n-2) + + h(n-1)h(0) (其中n>=2)
      该递推关系的解为:
      h(n)=C(2n,n)/(n + 1) (n=1,2,3,)
    另类递归式: h(n)=((4n-2)/(n+1))h(n-1);

unsigned long long fact(int n, int k) {
        if(k > 0) {
            if(n == 0 && n == 1) {
                return 1;
            } else {
                return n * fact(n-1, k-1);
            }
        } else {
            return 1;
        }
        
    }
    
    int numTrees(int n) {
        // write your code here
        return (int)(fact(2*n, n) / fact(n, n) / (n+1));
    }
  • 动态规划
class Solution {
public:
    /**
     * @paramn n: An integer
     * @return: An integer
     */
     
    
    int numTrees(int n) {
        
        vector<int> dp(n+1, 0);
        dp[0] = dp[1] = 1;
        
        for(int i = 2; i <= n; ++i) {
            for(int j = 0; j <= i-1; ++j) {
                dp[i] += dp[j]*dp[i-1-j];
            }
        }
        
        return dp[n];
        
    }
};

相关文章

  • lintcode-不同的二叉查找树

    卡特兰数Catalan数是组合数学中一个常出现在各种计数问题中出现的数列。由以比利时的数学家欧仁·查理·卡塔兰 (...

  • lintcode-不同的二叉查找树II

    给出n,生成所有由1...n为节点组成的不同的二叉查找树

  • 极客时间数据结构与算法之美笔记25~26

    二叉树到二叉查找树,是为了查找数据的效率接近logN。 二叉查找树到平衡二叉查找树,是为了防止二叉查找树沦为链表。...

  • 二叉查找树

    1)二叉查找树是什么?2)二叉查找树的插入、删除、查找?3)Go代码实现 一、二叉查找树是什么?二叉查找树(BST...

  • 红黑树

    红黑树的本质就是一棵二叉查找树,所以先从二叉查找树来了解起。 二叉查找树 二叉查找树又称有序二叉树,具有以下特性:...

  • 99-数据结构和算法

    难点:二叉树的遍历 红黑树 图的遍历 二叉查找树二叉查找树(binary search tree),二叉查找树在二...

  • 二叉树

    查找二叉树中最大的搜索二叉树拓扑结构 96.不同的二叉搜索树给定n,求可以构成多少种二叉搜索树 95. 不同的二叉...

  • 『数据结构』树(Tree)

    1. 概念 2. 二叉查找树2.1. 随机构造的二叉查找树2.2. 平均结点深度2.3. 不同的二叉树数目(Cat...

  • 二叉查找树

    二叉查找树,又称二叉搜索树 二叉查找树也称为有序二叉查找树,满足二叉查找树的一般性质,是指一棵空树具有如下性质: ...

  • 11-二叉查找树

    二叉查找树 1.什么是二叉查找树? 二叉查找树是一种支持数据动态的插入,删除,查找的数据结构。 2.二叉查找树的设...

网友评论

      本文标题:lintcode-不同的二叉查找树

      本文链接:https://www.haomeiwen.com/subject/rzawdttx.html