0二叉树中等 NC150 二叉树的个数

该博客讨论了已知中序遍历单调递增的二叉树问题,即如何计算有n个节点的搜索二叉树的形态数量。通过动态规划方法,可以得出形态总数等于dp[j-1] * dp[i-j],其中dp[j-1]表示左半部分的形态,dp[i-j]表示右半部分的形态。博主特别提醒注意整数类型的处理。
摘要由CSDN通过智能技术生成

NC150 二叉树的个数

描述

已知一棵节点个数为 n的二叉树的中序遍历单调递增, 求该二叉树能能有多少种树形, 输出答案对 10^9+710 9+7 取模
数据范围:
1 \le n \le 30001≤n≤3000

分析

二叉树的中序遍历单调递增即符合搜索二叉树的要求,即题目是想求有n个结点的搜索二叉树有多少种树的形态。
n个结点的搜索二叉树的形态个数等于dp[i] = dp[j-1] * dp[i-j] 。dp[j-1]是左半边的可能形况,dp[i-j]是右半边的可能情况。
dp[0]取1,这样方便计算节点全在一边的情况。
注意整数的类型!

public int numberOfTree (int n) {
   
        // write code he
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值