1楼:鱼厌河
我觉得由于森林无法确定谁是第一颗树,所以不唯一
把一棵树转换为二叉树后,这棵树的形态是唯一的吗
2楼:木叶之窗
树到二叉树的转换
除了根节点的兄弟结点之间连线,然后去掉初长子之外的连线(得出来的树没有右子树)
森林转化为二叉树的步骤
(1)先将森林中的每棵树变为二叉树
(2)再将各二叉树的根节点视为兄弟从左至右连在一起,最后调整一下位置,就形成了一颗二叉树。(有左子树又有右子树)
3楼:谏许阿微
应该问的是这棵二叉树形态是唯一的吧,这个只要转换规则一致,结果自然唯一
数据结构中,怎么样把森林转化成二叉树
4楼:叶子离去是纪念
步骤1:先将各树按照左孩子右兄弟的原则转化成二叉树
步骤2:然后将各二叉树通过根的右指针相连(即:按森林图形中树的先后次序,依次将后边一棵二叉树的根作为前边一棵二叉树根结点的右子树)
下面给你举个例子:
数据结构,两颗树组成的森林转换成二叉树,如果两棵树本来就是二叉树,是直接把根节点连起来还是按照书上
5楼:乌石
数据结构,两颗树组成的森林转换成二叉树,如果两棵树本来就是二叉树,是直接把根节点连起来还是按照书上的方法,把每个树转换成二叉树,在把第一个树的根节点的右指针指向第二个树的右指针?
【回答】:应先把每个树转换成二叉树,在把第一个树的根节点的右指针指向第二个树的根。你这个图中画的都不对正确的应是:
..... a
/ ...... \
b........ d
.\........ /
....c.... e
............. \
..................f
(点请无视之,不知道,最近空格不知为何不起作用了)
从概念上讲,树,森林和二叉树是三种不同的数据结构,将树,森林转化为二叉树的基本目的是什么, 50
6楼:匿名用户
这三种结构的特点用一句话概括的话就是:
树,只有1个根节点
森林,有》=2个根节点,可以理解为由多棵树组成
二叉树,作为一种特殊的树,在满足只有1个根节点的同时,任意节点的儿子数=<2
树和森林的结构与二叉树相比,要求更少,也可以说是更抽象,因此适用于更多的场合。
二叉树则是根据目前计算机所采用的二进制存储机制所设计的,现在的计算机基本都已经集成了各种数制的表示,加上图形ui,使得很多人已经对二进制串及其特点不敏感了,但是最底层的处理机制依然与早期的计算机相似,基本全是对0、1串做处理,逻辑判断也就是true或false,具体表现还是0、1,这种情况下二叉树就是最简易、最直观的。
大多数使用二叉树的地方也可以使用三叉或四叉之类的结构来替换,但是在具体实现上,由于机器处理能力的特性,还是要转换为二叉结构,例如针对三叉的判断,a、b、c三种子情况,计算机还是要按照判断a与非a、再判断b与非b这种二叉逻辑来处理。
所谓数据结构只是一种存储、组织数据的一种方式,无论哪种数据结构都是以这为出发点设计的,最简单高效、容易理解的数据结构就是最好的。
7楼:匿名用户
二叉树只能有两个子树,树就不一定
数据结构的一道题,二叉树和森林的转化
8楼:匿名用户
题目看清楚啦,问的是森林中的父节点不是二叉树中的父节点
9楼:笑来到
兄弟是两个节点,你这同一个节点,没法构成兄弟关系啊
从概念上讲,树、森林和二叉树是三种不同的数据结构,将树、森林转化为二叉树的基本目的是什么
10楼:
1、方便编程中的调用
2、二叉树中每个结点最多有两个子树,普通的树没有限制
1、从概念上讲,树、森林和二叉树是三种不同的数据结构,将树、森林转化为二叉树的基本目的是什么?
11楼:
1、方便编程中的调用
2、二叉树中每个结点最多有两个子树,普通的树没有限制
数据结构:设f是一个森林,b是由f变换得到的二叉树。f中有n个非终端结点,则b中右指针域为空的结点为( )
12楼:水瓶一头老母猪
选c,n+2。
解题思路:
设终端结点数为f,总结点数 f + n。每个结点有两个指针,总指针数 2(f + n)。
二叉树b除去根结点,都是某个结点的孩子, 也就是其余每个结点都有指针指向, 占用指针数为 f + n - 1。
剩余空指针数为 2(f + n)- (f + n - 1)= f + n + 1 个,f 个终端结点没有孩子, 所以空的左指针域数为f 个;二叉树b 中右指针域为空的结点有 ( f + n + 1 ) - f = n + 1。
13楼:匿名用户
c.n+1
森林转换为二叉树,遵循"左儿子右兄弟"的说法.
举个例子.树:根节点有三个儿子a,b,c.
那么转换为二叉树后,根节点只有一个儿子a,然后a的兄弟b成为a的"儿子"(或者可以说是右指针域),c成为b的右指针域,此时c已经没有兄弟了,所以到此的一个右指针域为空.(你可以画图体会一下.)
题目中说f有n个非终端节点,所以转换为二叉树后所有的空的右指针域(right)就是n个.
根节点没有兄弟,所以该右指针域也为空.(注:这里根节点也是一个有指针域.上文中根节点属于非终端节点,那里它所指向的右指针域不是它本身而是它的最右边的儿子.)
所以综上,二叉树中右指针域为空的节点有(n+1)个.
楼主,这个我也是初学,有些语言不标准之处见谅.
如图,数据结构问题,这个二叉树怎么转化为森林
1楼 旧同桌的你 记住左孩子右兄弟,a的左子树b是它的一个节点,b的右子树c是b的兄弟,同时也是a的一个节点,所以在a这棵树上有b和c两个节点 a的右子树有d,d的右子树有g,所以a d g三者互为兄弟,也就是有a d g这三棵树 d有一个左子树e,e有一个右子树f,所以e和f为d树下的两个节点 如...
二叉树转换成森林的过程是什么,把二叉树转换为为森林 如图
1楼 北京理工大学出版社 二叉树转换成森林的方法是 1 抹线 将二叉树中的根结点与其右孩子间的连线,及沿右分支搜索到的所有右孩子间的连线全部抹掉,使之变成孤立的二叉树,如图1所示。 2 还原 将孤立的二叉树用孩子兄弟法还原成树,如图1所示。树和森林都可以转换为二叉树,二者的不同是 树转换成的二叉树,...