谁能解释一下树,二叉树,森林的转换关系

2021-03-04 21:45:28 字数 2812 阅读 3916

1楼:匿名用户

二叉树是特殊的树,但是根据“左孩子右兄弟”的法则,可以把任意的树转化成为二叉树。

森林是多棵树构成的。不过如果把这些树看作是兄弟的话,那么森林也能转化成为二叉树。

2楼:桓姮卯赫

树、森林与二叉树的转换

1、树、森林转换成二叉树

将一棵树转换成二叉树的方法:

将一棵树转换成

二叉树实际上就是将这棵树用孩子兄弟表示法存储即可,此时,树中的每个结点最多有两个指针:一个指针指向第一个孩子,另一个指针指向右侧第一个兄弟。当你将这两个指针看作是二叉树中的左孩子指针和孩子右指针时,就是一棵二叉树了。

特点:一棵树转换成二叉树后,根结点没有右孩子。

将森林转换成二叉树的方法与一棵树转换成二叉树的方法类似,只是把森林中所有树的根结点看作兄弟关系,并对其中的每棵树依依地进行转换。

2、二叉树还原成树或森林

这个过程实际上是树、森林转换成二叉树的逆过程,即将该二叉树看作是树或森林的孩子兄弟表示法。比如,若二叉树为空,树也为空;否则,由二叉树的根结点开始,延右指针向下走,直到为空,途经的结点个数是相应森林所含树的棵数;若某个结点的左指针非空,说明这个结点在树中必有孩子,并且从二叉树中该结点左指针所指结点开始,延右指针向下走,直到为空,途经的结点个数就是这个结点的孩子数目。

二叉树与树(或森林)之间能不能转化?为什么

3楼:匿名用户

可以转换啊,使用左孩子右兄弟,将一棵棵的树先转换为二叉树后,再从第二棵树开始,依次将根连接在前一棵树根的右子树上就可以了

画出二叉树对应的森林

4楼:匿名用户

你这个二叉树copy画得不

清楚,可以上个**吗?

方法:二叉树转换为树和森林。若二叉树非空,则二叉树根及其左子树为第一棵二叉树形式,二叉树根的右子树又可以看做一个由森林转换后的二叉树,应用同样的方法,直到最后产生一棵没有右子树的二叉树为止,这样就得到一个森林。

为了进一步得到树,可用树的二叉链表表示逆方法,即结点的右子树的根、右子树的右子树的根......找出原本是同一个双亲的兄弟。二叉树转换为树或森林是唯一的。

参考如下图:

从概念上讲,树、森林和二叉树是三种不同的数据结构,将树、森林转化为二叉树的基本目的是什么

5楼:

1、方便编程中的调用

2、二叉树中每个结点最多有两个子树,普通的树没有限制

从概念上讲,树,森林和二叉树是三种不同的数据结构,将树,森林转化为二叉树的基本目的是什么, 50

6楼:匿名用户

这三种结构的特点用一句话概括的话就是:

树,只有1个根节点

森林,有》=2个根节点,可以理解为由多棵树组成

二叉树,作为一种特殊的树,在满足只有1个根节点的同时,任意节点的儿子数=<2

树和森林的结构与二叉树相比,要求更少,也可以说是更抽象,因此适用于更多的场合。

二叉树则是根据目前计算机所采用的二进制存储机制所设计的,现在的计算机基本都已经集成了各种数制的表示,加上图形ui,使得很多人已经对二进制串及其特点不敏感了,但是最底层的处理机制依然与早期的计算机相似,基本全是对0、1串做处理,逻辑判断也就是true或false,具体表现还是0、1,这种情况下二叉树就是最简易、最直观的。

大多数使用二叉树的地方也可以使用三叉或四叉之类的结构来替换,但是在具体实现上,由于机器处理能力的特性,还是要转换为二叉结构,例如针对三叉的判断,a、b、c三种子情况,计算机还是要按照判断a与非a、再判断b与非b这种二叉逻辑来处理。

所谓数据结构只是一种存储、组织数据的一种方式,无论哪种数据结构都是以这为出发点设计的,最简单高效、容易理解的数据结构就是最好的。

7楼:匿名用户

二叉树只能有两个子树,树就不一定

将树、森林转化为二叉树的基本目的是什么?

8楼:匿名用户

一般树在满足树的条件下可以是任意形状,一个节点可以有任意多个子女 二叉树的每个节点却最多只能有两个子女 即是左子女和右子女

显然一般树处理起来要比二叉树复杂得多 而一般树可以通过一定的方式转化为二叉树以便于操作

9楼:加油

因为二叉树具有它独特的特点和重要的性质。转化为二叉树可以使复杂的问题简单化。

二叉树和树如何转换?比如给出一个二叉树,求对应的树有几棵,这种题如何做?

10楼:匿名用户

二叉树转换为树:很简单,将二叉树原节点的左子树不变,右子树变为其兄弟,即左孩子右兄弟

树转换为二叉树:对树中每个节点除保留第一个节点的连线外,断开其他孩子的连线,然后将其原兄弟连线,原树中第一个孩子为左子树,其余兄弟均为其左兄弟的右子树,呵呵,好好理解下,多看看书^

加油~一个树林对应多个二叉树,一个二叉树应对应一棵树

数据结构中,怎么样把森林转化成二叉树

11楼:叶子离去是纪念

步骤1:先将各树按照左孩子右兄弟的原则转化成二叉树

步骤2:然后将各二叉树通过根的右指针相连(即:按森林图形中树的先后次序,依次将后边一棵二叉树的根作为前边一棵二叉树根结点的右子树)

下面给你举个例子:

将树,森林转换成二叉树的基本目的是什么?

12楼:匿名用户

可以将树、二叉树和森林统一存储,统一处理,尤其是三者的遍历操作可以相互等价

二叉树转换成森林的过程是什么,把二叉树转换为为森林 如图

1楼 北京理工大学出版社 二叉树转换成森林的方法是 1 抹线 将二叉树中的根结点与其右孩子间的连线,及沿右分支搜索到的所有右孩子间的连线全部抹掉,使之变成孤立的二叉树,如图1所示。 2 还原 将孤立的二叉树用孩子兄弟法还原成树,如图1所示。树和森林都可以转换为二叉树,二者的不同是 树转换成的二叉树,...

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

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

求解村上春树的挪威的森林与挪威的关系

1楼 匿名用户 风靡60年代的甲壳虫乐队唱出了名闻世界的曲子norwegian wood。 海潮的清香,遥远的汽笛,女孩肌体的感触,洗发香波的气味,傍晚的和风,缥缈的憧憬,以及夏日的梦境 这些组成了村上春树的世界。那是一种微妙的,无以名之的感受,贴己而朦胧,撩人又莫名。 1987年村上春树就以《挪威...