1. 题目

给定一个整数 n,求以 1 … n 为节点组成的二叉搜索树有多少种?

示例:输入: 3
输出: 5
解释:
给定 n = 3, 一共有 5 种不同结构的二叉搜索树:1         3     3      2      1\       /     /      / \      \3     2     1      1   3      2/     /       \                 \2     1         2                 3

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/unique-binary-search-trees
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

类似题目:
程序员面试金典 - 面试题 04.09. 二叉搜索树序列(双端队列+回溯)**
LeetCode 95. 不同的二叉搜索树 II(递归)

  • 假设n个节点存在二叉查找树的个数是G(n)
  • 1为根节点,2为根节点,…,n为根节点
  • 当1为根节点时,其左子树节点个数为0,右子树节点个数为n-1
  • 当2为根节点时,其左子树节点个数为1,右子树节点为n-2
  • 所以可得G(n)=G(0)∗G(n−1)+G(1)∗(n−2)+...+G(n−1)∗G(0)G(n) = G(0) *G(n-1)+G(1)*(n-2)+...+G(n-1)*G(0)G(n)=G(0)∗G(n−1)+G(1)∗(n−2)+...+G(n−1)∗G(0)
class Solution {public:int numTrees(int n) {int g[n+1] = {0}, i, j;g[0] = 1;g[1] = 1;for(i = 2; i <= n; ++i)for(j = 0; j < i; ++j)g[i] += g[j]*g[i-j-1];return g[n];}
};

LeetCode 96. 不同的二叉搜索树(DP)相关推荐

  1. Leetcode 96. 不同的二叉搜索树

    Leetcode 96. 不同的二叉搜索树 1.问题分析 2.问题解决 3.总结 1.问题分析 题目链接:https://leetcode-cn.com/problems/unique-binary- ...

  2. LeetCode 96不同的二叉搜索树95不同的二叉搜索树Ⅱ

    微信搜一搜:bigsai 算法文章题解全部收录在github仓库bigsai-algorithm 关注回复进群即可加入力扣打卡群,欢迎划水.近期打卡: LeetCode 92反转链表Ⅱ&93复 ...

  3. leetcode - 96. 不同的二叉搜索树

    96. 不同的二叉搜索树 ------------------------------------------ 给定一个整数 n,求以 1 - n 为节点组成的二叉搜索树有多少种? 示例: 输入: 3 ...

  4. LeetCode 96. 不同的二叉搜索树(Unique Binary Search Trees )

    题目描述 给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例: 输入: 3 输出: 5 解释: 给定 n = 3, 一共有 5 种不同结构的二叉搜索树:1 3 3 2 1\ ...

  5. leetcode 96. 不同的二叉搜索树(Unique Binary Search Trees)

    目录 题目描述: 示例: 解法: 题目描述: 给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例: 输入: 3 输出: 5 解释: 给定 n = 3, 一共有 5 种不同结 ...

  6. LeetCode 96.不同的二叉搜索树(卡特兰数)

    题目描述 给定一个整数 n,求以 1 - n 为节点组成的二叉搜索树有多少种? 示例: 输入: 3 输出: 5 解释: 给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ ...

  7. [leetcode] 96. 不同的二叉搜索树 +[补充] 不同的二叉树,不同形态的二叉树的个数----catalan数

    leetcode官方的题解:https://leetcode-cn.com/problems/unique-binary-search-trees/solution/bu-tong-de-er-cha ...

  8. Leetcode 96. 不同的二叉搜索树 解题思路及C++实现

    解题思路: 因为二叉搜索树的左右子树均为二叉搜索树.输入整数n,求其所有二叉搜索树的总数,就是求根节点分别为1,2, ..., n的二叉搜索树的总和. 假设 i 的二叉搜索树的总数为 f(i),当根节 ...

  9. LeetCode 96——不同的二叉搜索树

    1. 题目 2. 解答 以 \(1, 2, \cdots, n\) 构建二叉搜索树,其中,任意数字都可以作为根节点来构建二叉搜索树.当我们将某一个数字作为根节点后,其左边数据将构建为左子树,右边数据将 ...

最新文章

  1. 【系列】EOS开发3 EOS提供的程序和工具
  2. Zookeeper:基于Zookeeper的分布式锁与领导选举
  3. JavaWeb笔记:JDBC总结
  4. C++:遍历指定路径下的文件/图片
  5. 深入剖析Linux IO原理和几种零拷贝机制的实现
  6. (26) CSS3 2D转换transform
  7. HDU.1003 Max Sum
  8. 深入理解Linux/Unix文件描述符和epoll
  9. 启动失败_启动失败了?
  10. 下标随着页面链接的跳转
  11. 小程序毕设作品之微信小程序点餐系统毕业设计(8)毕业设计论文模板
  12. 上手TaoTronics家用暖风机体验
  13. 1051 电报加密
  14. 培训三天敏捷我懂了这些
  15. ROC曲线和PR曲线
  16. Pytorch创建自己的数据集(图像分割)
  17. C++在线编辑器:cpp.sh
  18. 深入Java虚拟机(六)线程同步
  19. 开发环境搭建---数据库环境搭建
  20. java动态编程解决分硬币问题,动态编程硬币更改问题

热门文章

  1. WindowsAPI详解——GetCurrentDirectory 获得程序当前目录
  2. 精雕道路怎么遍弧形_【养护技术】道路“创可贴”——沥青冷补料 六大优势助力道路养护...
  3. 头像和Karma汽车
  4. 以下题目需要当场编写实现,,答案自己写
  5. div里嵌套了img底部会有白块问题和图片一像素问题解决
  6. 【DFS】HDU 1364 POJ 1071 Illusive Chase
  7. 如何获取JavaCard剩余空间
  8. 成员变量的声明位置引起编译错误
  9. InterDev 调试错误信息: Unable to set server into correct debugging state automatically....的解决办法...
  10. 阿里巴巴后台的使用体验