关闭

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

174人阅读 评论(0) 收藏 举报
分类:

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

 

树转换为二叉树

1. 加线

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

2. 去线

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

3. 层次调整

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

森林转换为二叉树

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

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

二叉树转换为树

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

1. 加线

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

2. 去线

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

3. 层次调整。

二叉树转换为森林

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

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

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

 

0
0
查看评论

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

树、森林和二叉树之间的转换   树转换为二叉树 1. 加线      在所有兄弟结点之间加一条连线。 2. 去线      树中的每个结点,只保留它与第一个孩子结点的连线,删除它与其它孩子结点之间的连...
  • iw1210
  • iw1210
  • 2015-04-08 14:33
  • 11681

树、森林与二叉树相互转化原理图

1、树转换为二叉树 由于二叉树是有序的,为了避免混淆,对于无序树,我们约定树中的每个结点的孩子结点按从左到右的顺序进行编号。 将树转换成二叉树的步骤是: (1)加线。就是在所有兄弟结点之间加一条连线; (2)抹线。就是对树中的每个结点,只保留他与第一个孩子结点之间的连线,删除它与其它孩子结点...
  • sddxqlrjxr
  • sddxqlrjxr
  • 2016-04-07 11:52
  • 15972

数据结构:树、森林和二叉树的转换

1、树转换为二叉树 (1)加线。在所有兄弟结点之间加一条连线。 (2)去线。树中的每个结点,只保留它与第一个孩子结点的连线,删除它与其它孩子结点之间的连线。 (3)层次调整。以树的根节点为轴心,将整棵树顺时针旋转一定角度,使之结构层次分明。(注意第一个孩子是结点的左孩子,兄弟转换过...
  • u010889616
  • u010889616
  • 2015-08-28 10:24
  • 1225

树、森林与二叉树的转换

树、森林与二叉树的转换 1、树转换为二叉树 由于二叉树是有序的,为了避免混淆,对于无序树,我们约定树中的每个结点的孩子结点按从左到右的顺序进行编号。 将树转换成二叉树的步骤是: (1)加线。就是在所有兄弟结点之间加一条连线; (2)抹线。就是对树中的每个结点,只保留他与第一个孩子结点之间的连线,...
  • leolinsheng
  • leolinsheng
  • 2013-09-16 19:12
  • 8234

森林和二叉树的转换

       树是一种数据结构,而二叉树是树的最重要的一种。所有的树都可以找到一棵为一对应的二叉树。而从物理储存结构来说,它们的二叉链表是相同的,只是解释的角度不同。      &...
  • bigbigfans
  • bigbigfans
  • 2004-08-02 23:56
  • 1209

树、森林与二叉树的转换总结

前言:   在树这一块的数据结构中最重要的就是二叉树,但是对于我们大部分人来说二叉树的基础掌握还是ok的,但是有时候我们也会忽略了树于森林(本人就是忽略了),今天就在这里总结总结数、森林与二叉树的转换 树转换成二叉树 1.加线:在所有的兄弟结点之间加线 2.去线:对树中的每一个结点,只...
  • xin917480852
  • xin917480852
  • 2016-01-12 15:27
  • 1312

树、二叉树、森林之间的转换方法

1.如何将一棵树转换成二叉树? 将树转换成二叉树: ① 加线:在各兄弟结点之间用虚线相连 ② 抹线:对每个结点,除了其左孩子外,去除其与其余孩子之间的关系 ③ 旋转:以树的根结点为轴心,将整树顺时针转45° 2将二叉树转换成树: ① 加...
  • Minnie_wa
  • Minnie_wa
  • 2014-12-28 16:11
  • 1710

树、森林及二叉树的相互转换 – 数据结构和算法50

树、森林及二叉树的相互转换   让编程改变世界 Change the world by program   树、森林及二叉树的相互转换   从一个屌丝逆袭高富帅的小故事说起。   在这一章节开始的时候我...
  • Andy2016
  • Andy2016
  • 2015-11-19 14:30
  • 921

关于二叉树与树(森林)的知识点详解

1.二叉树的遍历及优缺点: 前序遍历用来实现目录结构的显示。 中序遍历用来做表达式,在编译底层实现的时候,可以实现加减乘数 后序遍历可以用来实现计算目录内的文件,占用的数据大小。 二叉树最复杂的还是删除,这里特别说明一下,就像书中所说的,为了减少算法的运行时间,在一些情况下,实际上对于删除操...
  • tianyucad123
  • tianyucad123
  • 2016-07-08 09:26
  • 1392

数据结构14————树,森林转化为二叉树(孩子兄弟表示法)

数据结构14————树,森林转化为二叉树(孩子兄弟表示法) 1.树转换二叉树 2.森林转换为二叉树 3.二叉树转森林和树 4.森林和树的遍历 5.二叉森林树的应用
  • qq_38499859
  • qq_38499859
  • 2017-12-20 21:32
  • 222
    个人资料
    • 访问:810304次
    • 积分:16473
    • 等级:
    • 排名:第745名
    • 原创:804篇
    • 转载:209篇
    • 译文:0篇
    • 评论:72条
    博客专栏
    文章分类
    最新评论