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

作者: 少帅yangjie | 来源:发表于2017-06-20 22:03 被阅读53次

树、森林和二叉树之间的转换(左兄弟右孩子)

树转换为二叉树

1. 加线

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

2. 去线

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

3. 层次调整

以树的根节点为轴心,将整棵树顺时针旋转一定角度,使之结构层次分明。(注意第一个孩子是结点的左孩子,兄弟转换过来的孩子是结点的右孩子)

森林转换为二叉树

1. 把每棵树转换为二叉树。

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

二叉树转换为树

是树转换为二叉树的逆过程。

1. 加线

若某结点X的左孩子结点存在,则将这个左孩子的右孩子结点、右孩子的右孩子结点、右孩子的右孩子的右孩子结点…,都作为结点X的孩子。将结点X与这些右孩子结点用线连接起来。

2. 去线

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

3. 层次调整。

二叉树转换为森林

假如一棵二叉树的根节点有右孩子,则这棵二叉树能够转换为森林,否则将转换为一棵树。

1. 从根节点开始,若右孩子存在,则把与右孩子结点的连线删除。再查看分离后的二叉树,若其根节点的右孩子存在,则连线删除…。直到所有这些根节点与右孩子的连线都删除为止。

2. 将每棵分离后的二叉树转换为树。

相关文章

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

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

  • 数据结构学习笔记

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

  • 树、森林和二叉树之间的转换

    树、森林和二叉树之间的转换(左兄弟右孩子) 树转换为二叉树 1. 加线 在所有兄弟结点之间加一条连线。 2. 去线...

  • 数据结构四之赫夫曼树

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

  • 树、森林及二叉树的相互转换

    树、森林及二叉树的相互转换 一、普通树转换为二叉树 步骤如下: 加线,在所有兄弟结点之间加一条连线。 去线,对树中...

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

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

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

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

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

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

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

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

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

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

网友评论

    本文标题:树、森林和二叉树之间的转换

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