当前位置:首页 > > 充电吧
[导读]1、树转换为二叉树---- 将树转换为二叉树的步骤如下:--1)加线。在所有兄弟结点之间加一条连线。--2)去线。对树中每个结点,只保留它与第一个孩子结点的连线,删除它与其他孩子结点之间的连线。--3

1、树转换为二叉树

---- 将树转换为二叉树的步骤如下:

--1)加线。在所有兄弟结点之间加一条连线。

--2)去线。对树中每个结点,只保留它与第一个孩子结点的连线,删除它与其他孩子结点之间的连线。

--3)层次调整。以树的根结点为轴心,将整棵树顺时针旋转一定的角度,使之结构层次分明。

注意第一个孩子是二叉树结点的左孩子,兄弟转换过来的孩子是结点的右孩子。

例如下图,一棵树经过三个步骤转换为一棵二叉树。

                    

                      

                       

                   

2、森林转换为二叉树

---- 森林是由若干棵树组成的,所以完全可以理解为:森林中的每一棵树都是兄弟,可以按照兄弟的处理办法来操作。

步骤如下:

--1)把每个树转换为二叉树。

--2)第一棵二叉树不动,从第二棵二叉树开始,依次把后一棵二叉树的根结点作为前一棵二叉树的根结点的右孩子,用线连接起来。

当所有的二叉树连接起来后就得到了由森林转换来的二叉树。

如下图所示,将森林的三棵树转化为一棵二叉树:

              

                    

3、二叉树转换为树

---- 二叉树转换为树是树转换为二叉树的逆过程,反过来做。步骤如下:

--1)加线。若某结点的左孩子结点存在,则将这个左孩子的右孩子结点、右孩子的右孩子结点.....右孩子的右孩子的右孩子的结点。。

左孩子的n个右孩子结点都作为此结点的孩子。将该结点与这些右孩子结点用线连接起来。

--2)去线。删除原二叉树中所有结点与其右孩子结点的连线。

--3)层次调整。使之结构层次分明。

---- 转换过程如下图所示:

                 

              

                     

4、二叉树转换为森林

---- 判断一棵二叉树能够转换为一棵树还是森林,只要看这棵二叉树的根结点有没有右孩子,有就是森林,没有就是一棵树。

如果是转换成森林,步骤如下:

--1)从根结点开始,若右孩子存在,则把与右孩子结点的连线删除,再查看分离后的二叉树,若右孩子存在,则连线删除......,

直到所有右孩子连线都删除为止,得到分离的二叉树。

--2)再将每棵分离后的二叉树转换为树即可。

5、树与森林的遍历

---- 树的遍历分为两种方式:

--1)一种是先根遍历树,即先访问树的根结点,然后依次先根遍历根的每棵子树。

--2)另一种是后根遍历,即先依次后根遍历每棵子树,然后再访问根结点。

             

如上图的树,先根遍历序列为ABEFCDG,后根遍历序列为EFBCGDA。

---- 森林的遍历也分为两种方式:

--1)前序遍历:先访问森林中第一棵树的根结点,然后再依次先根遍历根的每棵子树,再依次用同样方式遍历除去第一棵树的剩余树

构成的森林。

--2)后序遍历:先访问森林中第一棵树,后根遍历的方式遍历每棵子树,然后再访问根结点,再依次同样方式遍历除去第一棵树的剩余

树构成的森林。

           

如上图有三棵树的森林,前序遍历序列的结果是:ABCDEFGHJI。后续遍历的结果是:BCDAFEJHIG。

通过对森林转化为的二叉树进行分析发现:

森林的前序遍历和二叉树的前序遍历结果相同,森林的后序遍历和二叉树的中序遍历结果相同。

---- 当以二叉链表做树的存储结构时,树的先根遍历和后根遍历完全可以借用二叉树的前序遍历和中序遍历的算法来实现。

找到了对树和森林这种复杂问题的简单解决办法。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭