美文网首页
树、森林与二叉树的转换

树、森林与二叉树的转换

作者: 不知名的二狗 | 来源:发表于2019-09-26 20:53 被阅读0次

原文链接:https://blog.csdn.net/linraise/article/details/11745559
1、树转换为二叉树
将树转换成二叉树的步骤是:
(1)加线。就是在所有兄弟结点之间加一条连线;
(2)抹线。就是对树中的每个结点,只保留他与第一个孩子结点之间的连线,删除它与其它孩子结点之间的连线;
(3)旋转。就是以树的根结点为轴心,将整棵树顺时针旋转一定角度,使之结构层次分明。

树转二叉树.png

2、森林转换为二叉树

森林是由若干棵树组成,可以将森林中的每棵树的根结点看作是兄弟,由于每棵树都可以转换为二叉树,所以森林也可以转换为二叉树。

将森林转换为二叉树的步骤是:
(1)先把每棵树转换为二叉树;
(2)第一棵二叉树不动,从第二棵二叉树开始,依次把后一棵二叉树的根结点作为前一棵二叉树的根结点的右孩子结点,用线连接起来。当所有的二叉树连接起来后得到的二叉树就是由森林转换得到的二叉树。

森林转二叉树.png

3、二叉树转换为树

二叉树转换为树是树转换为二叉树的逆过程,其步骤是:
(1)若某结点的左孩子结点存在,将左孩子结点的右孩子结点、右孩子结点的右孩子结点……都作为该结点的孩子结点,将该结点与这些右孩子结点用线连接起来;
(2)删除原二叉树中所有结点与其右孩子结点的连线;
(3)整理(1)和(2)两步得到的树,使之结构层次分明。

二叉树转换为树.png

4、二叉树转换为森林

二叉树转换为森林比较简单,其步骤如下:
(1)先把每个结点与右孩子结点的连线删除,得到分离的二叉树;
(2)把分离后的每棵二叉树转换为树;
(3)整理第(2)步得到的树,使之规范,这样得到森林。

相关文章

  • Java_二叉树概念及基本操作

    树、森林和二叉树的转换 树转换为二叉树 森林转换为树 二叉树转换为树 二叉树转换为森林 代码

  • 数据结构学习笔记

    1. 树,森林,二叉树之间的转换 树转换为二叉树 森林转为二叉树 二叉树转为树 二叉树转为森林 2. 哈弗曼树

  • 数据结构四之赫夫曼树

    一丶树、森林、二叉树的转换 1-1丶树转换为二叉树 1-2丶森林转换为二叉树 1-3丶二叉树转换为树 1-3丶二叉...

  • 四、树与二叉树的互相转换

    树与二叉树的互相转换 森林与二叉树的互相转换 最后一张图还是难以理解的,我们首先可以发现这三棵二叉树的根节点右边都...

  • 树,森林与二叉树的相互转换和遍历方式

    树,森林与二叉树的转换: 树转换为二叉树: 1;加线:在所有兄弟结点之间加一条连线2;去线:对树中每个结点,只保留...

  • 树、森林与二叉树的转换

    树、森林与二叉树的转换: 树转换为二叉树: 1.加线。在所有兄弟之间加一条连线2.去线。对树中每个结点,只保留它与...

  • 数据结构(4)-二叉树的增删

    二叉树 森林、二叉树转换 1.树转换为二叉树 由于二叉树是有序的,所以为了避免混淆,对于无序的树,我们默认每个节点...

  • 数据结构与算法 10: 树形结构

    目录 一、树二、二叉树三、树、森林与二叉树的转换 一、树 树形结构 是数据元素(结点)之间有分支,并且具有层次关系...

  • 2018-03-28 二叉树的转换

    二叉树,树,森林 二叉树转树 和 二叉树转森林的区别在于,最终根节点有没有右子树。如果有右子树,则这颗二叉树转换之...

  • [二叉树] 树 二叉树 森林相互转化

    树转化成二叉树 兄弟之间连线 只留下与长子的连线 顺时针旋转 森林转换成二叉树 每棵树转化为二叉树 后一棵二叉树作...

网友评论

      本文标题:树、森林与二叉树的转换

      本文链接:https://www.haomeiwen.com/subject/erncuctx.html