码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 数据结构-树,森连,二叉树之间的转换


    树=》二叉树

    1.给兄弟加线

    2.给出长子外的孩子去线

    3.层次调整   (整体向左偏移45°)

    eg:

    1.给兄弟加线: 

     

    2.给处长紫外的孩子去线 

     

    3.层次调整,整体向左偏移45° (由兄弟转化来的孩子都是右节点,第一个节点都是左节点)

    j为i的兄弟节点,转换后为i的右孩子,h是c的第个节点,转换后为左孩子。

     将森林转化成二叉树

     1.将森林中的每棵树转化成二叉树(与上面将树转换成二叉树的方法一样)

    2.将所有的二叉树转换成一棵二叉树(将第二棵树的根节点当作第一棵树的右孩子,将第三棵树的根节点当作第二棵树的右孩子……依次类推)

      

    2.将这些二叉树连成总的二叉树:

     

     二叉树转换成树:

     1.加线:如果一个节点的左孩子存在,就将节点与左孩子节点 的右孩子节点,右孩子节点的右孩子节点相连(依次)

    2.去线:去掉与右孩子之间的连线

    3.进行层次调整(整体都往右偏移45°)

     二叉树转换成森林

    一棵二叉树转换成森林看这颗二叉树是否右右子树,如果有则能转换成森丽,否则只能转换成树

    1.寻找右孩子去线(每次都观察去掉后的树是否有右孩子,有则去掉)

    2.将分离的二叉树转换成树

     

     

    再将它们转换成树 (根节点有左孩子就与左孩子的右节点,右节点的右节点……相连,再断开左节点与之相连的右节点后向右偏移45°)

     

    素材来源于:b站up DX390609

  • 相关阅读:
    基于R语言APSIM模型应用
    在命令行中使用 cl.exe编译 C/C++ 程序并执行
    Linux设备树OF操作函数
    ArcGIS属性域和子类型
    SparkSQL的UDF及分析案例,220726,,
    windows系统edge浏览器退出账户后还能免密登录的解决方式
    子网计算:192.168.0.0/16是什么意思
    线代 | 秒杀方法与技巧
    戒慎乎不睹,大模型体验记
    ORM框架,反射,泛型,注解,CRUD实现
  • 原文地址:https://blog.csdn.net/weixin_73612682/article/details/130898924
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号