数据结构:由结点可以构造出多少种不同的二叉树

2020-12-30 16:49:41 字数 4022 阅读 8654

1楼:綉乞群群

递归算法:

typedef strct node

*bitree;

int depth(bitree bt)

2楼:匿名用户

节点不同就不止5种,节点一样就有5种

由3 个结点可以构造出多少种不同的二叉树

3楼:匿名用户

30种。三个不同的结点可以构成30种不同的二叉树。

其中树的形态有5种,每种形态下的排列有3!个

4楼:匿名用户

能组bai成5种形态的二叉du

树。n个节点能组成多少种二叉zhi

树,思想:递归+组合

当n=1时,只有1个根节点,则只能组成1种形态的二叉树,令n个节点可组成的二叉树数量表示为h(n),

则h(1)=1;

当n=2时,1个根节点固定,还有n-1个节点,可以作为左子树,也可以作为右子树,

即:h(2)=h(0)*h(1)+h(1)*h(0)=2,则能组成2种形态的二叉树。这里h(0)表示空,所以只能算一种形态,即h(0)=1;

当n=3时,1个根节点固定,还有n-1=2个节点,可以在左子树或右子树,

即:h(3)=h(0)*h(2)+h(1)*h(1)+h(2)*h(0)=5,则能组成5种形态的二叉树。

以此类推,当n>=2时,可组成的二叉树数量为h(n)=h(0)*h(n-1)+h(1)*h(n-2)+...+h(n-1)*h(0)种。

即符合catalan数的定义,可直接利用通项公式得出结果。

递归式:

h(n)=h(n-1)*(4*n-2)/(n+1);

该递推关系的解为:

h(n)=c(2n,n)/(n+1)(n=1,2,3,...)

数据结构问题 由4个节点可以构造出多少种不同的二叉树?

5楼:仁昌居士

由4个节点可以构造出14种不同

的二叉树。二叉树节点公式:b[n] = c[n,2n] / (n+1)。

二叉树组合数c[n,2n]的n为上标,2n为下标,将n=4代入公式,可以得出,b[4] = c[4,8] / (4+1) = 8! / (4! * 4!

* 5) = 8*7*6/(4*3*2) = 14。

6楼:城兴有焦卯

看了你上面的理解,你可能认为1节点和2、3、4节点不同,其实4个节点是相同的。例如:12

\\34

\\21

\\43

这两个是相同的,因为节点是相同的!所以你上面的理解有重复出现的情况,所以才会多!

由3个结点可以构造出多少种不同的二叉树

7楼:匿名用户

30种。

3个结点的二叉树形态有5种

每种形态可以有构造二叉树3!种

因此总共有30种不同的二叉树。

由3 个结点可以构造出多少种不同的二叉树

8楼:匿名用户

30种不同的二叉树。

三个结点的二叉树有5中形态

两层二叉树1种,三层二叉树4种

而每种形态的由三不同的结点构成的二叉树,可以构建有3!种不同的二叉树。因此总共有30种不同的二叉树。

由3 个结点可以构造出多少种不同的二叉树

9楼:千天玉斯魁

5种。看一下这里的说明(http://******blogs.***/shanezhang/p/4102581.html)

标准表达式为f(n)

=f(n-1)f(0)

+f(n-2)f(1)

+f(n-3)f(2)

+...

+f(1)f(n-2)

+f(n-1)f(0)。

10楼:angela韩雪倩

能组成5种形态的二叉树。

当n=1时,只有1个根节点,则只能组成1种形态的二叉树,令n个节点可组成的二叉树数量表示为h(n),则h(1)=1。

当n=2时,1个根节点固定,还有n-1个节点,可以作为左子树,也可以作为右子树,即:h(2)=h(0)*h(1)+h(1)*h(0)=2,则能组成2种形态的二叉树。这里h(0)表示空,所以只能算一种形态,即h(0)=1。

当n=3时,1个根节点固定,还有n-1=2个节点,可以在左子树或右子树,即:h(3)=h(0)*h(2)+h(1)*h(1)+h(2)*h(0)=5,则能组成5种形态的二叉树。

以此类推,当n>=2时,可组成的二叉树数量为h(n)=h(0)*h(n-1)+h(1)*h(n-2)+...+h(n-1)*h(0)种。

即符合catalan数的定义,可直接利用通项公式得出结果。

递归式:h(n)=h(n-1)*(4*n-2)/(n+1)。

该递推关系的解为:h(n)=c(2n,n)/(n+1)(n=1,2,3,...)

由3 个结点可以构造出多少种不同的二叉树

11楼:九筷千布了了了

您好! 如果是说结构的话,应该是5种没错!

如果不是5的话那么应该a b c 是二叉树的值 问你可以构成几个不同值的数,

这个问题的答案是12 希望对您有帮助!

1.由三个结点可以构造多少个不同的二叉树?(原因)

12楼:桐菊汗姬

没看到你那第二个问题,

“二叉树根结点的层次为0”

我不明白为什么根结点的层次会是0的呢?

根结点的层次应该是1才对的。

我那答案是层次1的。

13楼:匿名用户

1.由三个结点可来以构造5个不同自

的二叉树,

1个顶点,剩下2个,只有左子树2种,只有右子树2种,左右子树都有1个2.二叉树根结点的层次为0,对含有100个结点的二叉树,可能最大树深度和最小树深度分别是?和 ?

解答: 最大深度,就是只有一边的时候,1层1个节点,有100深度。

最小深度,就是完全二叉树的时候,除叶结点可能不满外,其他都满的,└log2 n┘+1 =7

这个是性质:具有n个结点的完全二叉树的深度为 └log2 n┘+1

14楼:

1)每个节点没有区别抄的可以构造5种

(1)满树 1种

(2)单子树的4种 根 左 左;根左右;根右左;跟右右;

有区别(不同节点在不同位置算一种,

由于每种树形有三个位置,故,每种树形有p(3,3)种方法,安排每个节点的位置) 共有每个5*p(3,3)=5*6=30种2)含有100个结点的二叉树,可能最大树深度和最小树深度分别是100 (每个节点只有一个子树),最小深度为 log2(100-1) =7(向上取整2^6=64,2^7=128;64<100<128 )

根结点为0不算叶点的深度为最大99,最小6 算叶子结点100,7

15楼:匿名用户

3个结点可以构成5种形态的二叉树:根左左、根左右、左根右、根右右、根右左

因为根的层次

内为0,100个结点二容叉树可能的最大深度就是100-1=99,为每层只有一个结点,最小的深度为log2n下取整,也就是log2(100) 下取整,为6

用三个结点a,b,c可以构造多少种不同的二叉树

16楼:匿名用户

如果是说结构的话,应该是5种没错,

如果不是5的话那么应该a b c 是二叉树

的值 问你可以构成几个不同值的数。

17楼:逆风飞扬余

5种!!

a是根节点,a的右孩子为b,b的右孩子为c。

a是根节点,a的右孩子为b,b的左孩子为c。

a是根节点,a的左孩子为b,b的左孩子为c。

a是根节点,a的左孩子为b,b的右孩子为c。

a是根节点,a的左孩子为b,a的右孩子为c。

数据结构中,森林转换为二叉树的结果是否唯一

1楼 鱼厌河 我觉得由于森林无法确定谁是第一颗树,所以不唯一 把一棵树转换为二叉树后,这棵树的形态是唯一的吗 2楼 木叶之窗 树到二叉树的转换 除了根节点的兄弟结点之间连线,然后去掉初长子之外的连线 得出来的树没有右子树 森林转化为二叉树的步骤 1 先将森林中的每棵树变为二叉树 2 再将各二叉树的根...