树森林二叉树的转换原理

Posted wawees

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树森林二叉树的转换原理相关的知识,希望对你有一定的参考价值。

    树转二叉树

    1. 把所有兄弟结点之间加连线(用红色的表示)

    2. 树中的每个结点只保留与第一个孩子结点的连线,其他的连线都去除(灰色虚线部分)

    3. 调整方位

  • 森林转二叉树

    1. 将每个树都转为二叉树

    2. 第一棵二叉树不动,作为转换后涵盖根结点的部分,其余转换后的二叉树依次添加到右孩子,作为根节点的右子树

树、森林、二叉树的转换原理


  • 二叉树转树

    能转换为树的前提是:二叉树的根结点要没有右子树。

    1. 如果左边的结点存储,则将左孩子的n个右孩子结点都作为此结点的孩子。将该结点与这些右孩子连接起来。

    2. 删除原来的二叉树中的所有结点和其右孩子的连线(红色为新增连线,灰色虚线为待删除连线)

    3. 调整层次

  • 二叉树转森林

    能转换为树的前提是:二叉树的根结点要有右子树。

    1. 从根结点开始,如果有右子树的存在,则把根结点与右子树的连线删掉。

    2. 然后查看分离后的二叉树,如果右孩子存在,重复第一步


以上是关于树森林二叉树的转换原理的主要内容,如果未能解决你的问题,请参考以下文章

树森林与二叉树的相互转换

树/森林和二叉树的转换

981统计利用二叉树存储的森林中树的棵数

数据结构学习笔记——树的存储结构以及树森林与二叉树之间的转换

数据结构学习笔记——树的存储结构以及树森林与二叉树之间的转换

数据结构学习笔记——树的存储结构以及树森林与二叉树之间的转换