树、森林与二叉树的转换

树或森林与二叉树之间有一个自然的一一对应关系。任何一个森林或一棵树可惟一地对应到一棵二叉树;反之,任何一棵二叉树也能惟一地对应到一个森林或一棵树。

树、森林与二叉树的转换

工具/原料

    一棵树,二叉树,或者森林

方法/步骤

    1

    将树转换为二叉树:

    树中每个结点最多只有一个最左边的孩子(长子)和一个右邻的兄弟。按照这种关系很自然地就能将树转换成相应的二叉树:1.在所有兄弟结点之间加一连线2.对每个结点,除了保留与其长子的连线外,去掉该结点与其它孩子的连线。

    如下图所示:

    树、森林与二叉树的转换

    2

    将一个森林转换为二叉树:

    具体方法是:1.将森林中的每棵树变为二叉树;2.因为转换所得的二叉树的根结点的右子树均为空,故可将各二叉树的根结点视为兄弟从左至右连在一起,就形成了一棵二叉树。

    如下图所示:

    树、森林与二叉树的转换

    3

    二叉树转换为树:

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

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

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

    如下图所示:

    树、森林与二叉树的转换

    4

    二叉树转换为森林:

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

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

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

    如下图所示:

    树、森林与二叉树的转换

    5

    树和二叉树是两种不同的数据结构,树实现起来比较麻烦,但是树可以转换为二叉树进行处理,处理完以后再从二叉树还原为树。

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

注意事项

    树和二叉树是两种不同的数据结构,树实现起来比较麻烦,但是树可以转换为二叉树进行处理,处理完以后再从二叉树还原为树。

温馨提示:经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
免责声明:本文转载来之互联网,不代表本网站的观点和立场。如果你觉得好欢迎分享此网址给你的朋友。
转载请注明出处:https://www.i7q8.com/jiaoyu/2381.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年07月13日
下一篇 2023年07月15日
single-end

热门百科

single-end

相关推荐

  • 用PS把相片转换为素描图片

    用PS把相片转换为素描图片,本教程主要介绍用PS如何快速把相片变成素描效果的图片。效果对比如图:...

    2024年04月18日
    0℃
  • 有哪些好看的美剧

    有哪些好看的美剧,我喜欢偏重口味一点的美剧,因此在此推荐的也主要是这个类型的。下面介绍几部我个人认为比较好看的美剧和大家共享。为了避免剧透,我只简单罗列及介绍。这些美剧也可以作为你练习英语口语的好素材。...

    2024年04月18日
    0℃
  • 不花钱健身的七个小妙招

    不花钱健身的七个小妙招,现在讲到健身,好些人,可能会想到去健身房,或者是自己到外面跑步或者是散步等。实际上,这些都是大的动作,今天,我给大家推荐一些小的方法,任何人都适合又不花钱的健身方法。...

    2024年04月18日
    0℃
  • 如何挑选适合自己的留学大学?

    如何挑选适合自己的留学大学,出国留学,通常很多人就想到美国常春藤院校,或者直接在世界大学排名上找,习惯以国内高考填报志愿的方式,冲一冲名校,退而求其次。可是,这些你辛辛苦苦搜来的大学真的适合你吗?...

    2024年04月18日
    0℃
  • 计算外螺纹中径详解

    计算外螺纹中径详解,图纸上标注为外螺纹结构,当产品加工出来以后,我们如何去测量约束它呢?我们可以用中径来进行约束,那么我们如何计算出外螺纹的中径呢?...

    2024年04月18日
    0℃
关注微信