当前位置: 首页 > news >正文

数据结构--树4.2.4(树、森林即二叉树的相互转换(仅供参考))

目录

一、树转换成二叉树步骤

二、森林转换成二叉树

 三、二叉树到树、森林的转换


一、树转换成二叉树步骤

分两个步骤:

        1、在树中所有的兄弟结点之间加一连线。

        2、对每个结点,除了保留与其长子(最左边)的连线外,去掉该结点与其他孩子的连线。

二、森林转换成二叉树

        1、先将森林中的每棵树变为二叉树

        2、将各二叉树的根结点视为兄弟从左至右连在一起,就形成了一棵二叉树

 三、二叉树到树、森林的转换

1、若结点x是其双亲y的左孩子,则把x的右孩子,右孩子的右孩子,……,都与y用连接线连起来。

        二叉树转换为普通树是刚才的逆过程,步骤也就是反过来做。

        判断一棵二叉树能够转换成一棵树还是森林,标准很简单,那就是只要看这颗二叉树的根结点有没有右孩子,有的话就是森林,没有的话就是一棵树。

        森林的遍历也分为前序遍历和后序遍历,其实就是按照树的先根遍历和后根遍历依次访问森林的每一棵树。

        树、森林的前序遍历和二叉树的前序遍历结果相同。

        树、森林的后序遍历和二叉树的中序遍历结果相同。

http://www.lryc.cn/news/143563.html

相关文章:

  • MyBatis-Plus 总结
  • 【CSS】轮播图案例开发 ( 基本设置 | 子绝父相 | 浏览器水平居中 | 圆角设置 | 绝对定位居中设置 )
  • leetcode做题笔记111. 二叉树的最小深度
  • ubuntu安装Google Chrome 浏览器和ChromeDriver
  • 猫头虎博主赠书一期:《Kubernetes原生微服务开发》
  • QtC++ 设计模式(四)——策略模式
  • LVS集群和分布式概念
  • javafx应用程序线程异常Exception in thread “JavaFx Application Thread“
  • 大漠插件7.2336
  • 5年测试,面试结束后被HR发朋友圈怼了..(心塞)
  • 基于相空间重构的混沌背景下微弱信号检测算法matlab仿真,对比SVM,PSO-SVM以及GA-PSO-SVM
  • 开发者必备:推荐将闲置iPad Pro打造为编程工具,使用VS Code编写代码
  • c++,标准库std中全局函数 _Destroy_in_place(...)的分析
  • java:Tomcat
  • US-P2F-R-C双线圈插头式比例阀放大器
  • clickhouse一次异常排查记录
  • Python 数据可视化:玩转 Matplotlib 的散点图、线形图、饼图和热力图
  • 基于python+pyqt实现opencv银行卡身份证等识别
  • 惠普台式机装系统记录
  • java八股文面试[JVM]——垃圾回收
  • iOS开发Swift-控制流
  • leetcode875. 爱吃香蕉的珂珂(java)
  • LeetCode-406-根据身高重建队列
  • JVM——类加载与字节码技术—编译期处理+类加载阶段
  • C#|如何调试进依赖动态库中
  • 全新版本QStack云管系统3.5.3 附详细安装教程
  • SLB 负载均衡
  • 多核调度预备知识
  • 什么是Git?解释Git的分布式版本控制系统的优势?
  • 软考高级系统架构设计师系列论文九十五:图书馆网络应用体系安全设计