首页 > 其他分享 >二叉树与树、森林之间的转换

二叉树与树、森林之间的转换

时间:2022-10-07 12:55:47浏览次数:56  
标签:结点 转换 孩子 图例 二叉树 还原成 森林

一、成树、森林转换为二叉树

树转化成二叉树的步骤:

  1. 树中所有相邻兄弟结点之间加一条线
  2. 对树中的每个结点只保留它与长子之间的连线,删除与其他孩子之间的连线
  3. 以树的根结点为轴心,将整棵树顺时针转动45^{\circ},使之结构层次分明

图例:

 

 

森林转化成二叉树的步骤:

  1. 将森林中的每棵树转化成相应的二叉树
  2. 第一颗二叉树不动,从第二颗树开始,依次把后一棵二叉树的根结点作为前一棵二叉树根结点的右孩子结点,直到所有二叉树都连接到一起

图例:

 

 

 

 

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

二叉树还原成树的步骤:

  1. 若某结点是其双亲的左孩子,则把该结点的右孩子、右孩子的右孩子等都与该结点的双亲结点用连线连起来
  2. 删除原二叉树中所有双亲结点与右孩子结点之间的连线
  3. 整理由前两步得到的树,即以该结点为轴心,逆时针转动45^{\circ},使之结构层次分明

图例:

 

 

二叉树还原成森林的步骤:

  1. 抹掉二叉树根结点右链上的所有结点之间的“双亲—右孩子”关系,将其分成若干个以右链上的结点的二叉树,设这些二叉树为bt_{1} , bt_{2} .... bt_{m}
  2. 分别将bt_{1} , bt_{2} .... bt_{m}二叉树各自还原成一棵树

图例:

 

 每一个转换都需要着重于“右孩子”进行下手

标签:结点,转换,孩子,图例,二叉树,还原成,森林
From: https://www.cnblogs.com/kuailest/p/16759525.html

相关文章

  • 网络字节序与主机字节序的转换函数实践
    网络字节序与主机字节序的相互转换常用系统调用Linuxsocket网络编程中,经常会使用下面四个C标准库函数进行字节序间的转换。#include<arpa/inet.h>uint32_thtonl(ui......
  • KAL1 LINUX 官方文档之虚拟机版本 --- 将 VMX 转换为 OVA(更新于2022)
     VMware具有适用于VMware产品的VMX格式。另一种常见的格式是OVF,因为这是一个开放标准(OVA是OVF但压缩成一个文件)。有时需要在两种格式之间进行转换。为了从VMwar......
  • 网络字节序与主机字节序的转换函数实践
    首先我们要对于网络字节序和主机字节序有一个初步的概念。字节序:字节在内存中储存的顺序字节序的种类:(1):大端字节序,数值高位储存在内存的低地址,低位储存在内存的高地址,在 ......
  • Class.forName()、Class.class、getClass() 三者区别以及instanceof与强制类型转换
    Java反射反射为在运行时期获取对象类型信息的操作。传统的编程方法要求程序员在编译阶段决定使用的类型,但是在反射的帮助下,编程人员可以动态获取这些信息,从而编写更加具有......
  • transform属性(元素转换、变形等)
    transform属性值描述none定义不进行转换matrix(n,n,n,n,n,n)定义2D转换,使用六个值的矩阵matrix3d(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n)定义3D转换,使......
  • 网络字节序与主机字节序的转换函数实践
    1、网络字节序:是TCP/IP中一种固定好的数据表示格式,它与具体的CPU,操作系统,传输方式无关,从而可以保证数据在不同主机之间传输时能够兼容。2、主机字节序:即大端(BigEndian)......
  • javascript类型转换
    转换为数字(调用Number(),parseInt(),parseFloat()方法)转换为字符串(调用.toString()或String()方法)转换为布尔值(调用Boolean()方法)需要注意的是:null、undefined没......
  • 平衡二叉树板子(转载)
    #include<iostream>#include<cstdio>#defineMAXN100010usingnamespacestd;introot,tot;structSplay{intfa;intch[2];intval;intcn......
  • 树结构系列(二):平衡二叉树、AVL树、红黑树
    前面说到二叉树在极端情况下会退化成链表,那如何解决这个问题呢?答案是:树的平衡。我们通过树的平衡,使得左右子树的深度保持在较小范围内,从而保证二叉树的查询效率。这就是平......
  • 树和二叉树
    树的定义:树(Tree)是n(n>=0)个结点的有限集。若n=0,则称空树若n>0,则它满足如下两个条件:(1)有且只有一个特定的称为根(Root)的结点(2)其余结......