首页 > 试题广场 >

具有八个结点的二叉树共有多少种()?

[单选题]
具有八个结点的二叉树共有多少种()?

  • 8
  • 256
  • 960
  • 1430
出栈和二叉树求可能个数都可以用 本质相同 1/n+1 乘以c上面n 下面2n
发表于 2022-03-10 22:39:07 回复(0)

分析过程:
(1)先考虑只有一个节点的情形,设此时的形态有f(1)种,那么很明显f(1)=1

(2)如果有两个节点呢?我们很自然想到,应该在f(1)的基础上考虑递推关系。那么,如果固定一个节点后,左右子树的分布情况为1=1+0=0+1,故有f(2) = f(1) + f(1)

(3)如果有三个节点,(我们需要考虑固定两个节点的情况么?当然不,因为当节点数量大于等于2时,无论你如何固定,其形态必然有多种)我们考虑固定一个节点,即根节点。好的,按照这个思路,还剩2个节点,那么左右子树的分布情况为2=2+0=1+1=0+2。
所以有3个节点时,递归形式为f(3)=f(2) + f(1)*f(1) + f(2)。(注意这里的乘法,因为左右子树一起组成整棵树,根据排列组合里面的乘法原理即可得出)

(4)那么有n个节点呢?我们固定一个节点,那么左右子树的分布情况为n-1=n-1 + 0 = n-2 + 1 = … = 1 + n-2 = 0 + n-1。此时递归表达式为f(n) = f(n-1) + f(n-2)f(1) + f(n-3)f(2) + … + f(1)f(n-2) + f(n-1)

接下来我们定义没有节点的情况,此时也只有一种情况,即f(0)=1
那么则有:
f(0)=1,f(1)=1
f(2)=f(1)f(0)+f(0)f(1)
f(3)=f(2)f(0)+f(1)f(1)+f(0)f(2)
.
.
.
.
f(n)=f(n-1)f(0)+f(n-2)f(1)+……….+f(1)f(n-2)+f(0)f(n-1)
该数列称为卡特兰数(Catalan数),该递推关系的解为:
这里写图片描述
即含n个节点的二叉树有f(n)种形态。

发表于 2017-08-21 11:22:24 回复(6)
卡特兰数:,另外还用在n个元素出栈的可能性次数,以及二叉树的中序序列已知,求二叉树的种类的个数。
发表于 2018-07-11 15:40:13 回复(1)
当n=0时,f(0)=1
当n=1时,f(1)=1
当n>1时,先固定根结点,有以下几种情况:左孩子有n-1个结点,右孩子有0个结点;左孩子有n-2个结点,右孩子有1个结点;。。。左孩子有0个结点,右孩子有n-1个结点。
所以f(n)=f(n-1)f(0)+f(n-2)f(1)+。。。+f(0)f(n-1);
所以
发表于 2018-09-27 16:39:19 回复(0)
卡特兰数:

发表于 2022-03-13 11:16:42 回复(0)
卡特兰数:已知二叉树的结点个树求二叉树的种类个树;还用在n个元素出栈的可能性次数
发表于 2023-04-26 09:47:52 回复(0)
。这是卡特兰数。另外还可以用在n个元素出栈的可能性次数,括号问题。


编辑于 2021-12-14 23:03:38 回复(0)
关于卡特兰数的详解讲解可以参考我的一篇博客:https://blog.csdn.net/Cyril_KI/article/details/108412075
发表于 2021-09-05 21:57:11 回复(0)
<p>本质还是考栈,卡特兰树公式</p>
发表于 2020-11-01 16:26:10 回复(0)
d
发表于 2018-01-18 09:24:22 回复(0)
D
发表于 2017-11-27 10:04:23 回复(0)
又是卡特兰数
发表于 2017-09-27 11:24:29 回复(0)