当前位置:网站首页>树和二叉树的转换
树和二叉树的转换
2022-08-01 12:50:00 【51CTO】
树和二叉树是两种不同的数据结构,树实现起来比较麻烦,但是树可以转换为二叉树进行处理,处理完以后再从二叉树还原为树。
下面说说转换的方法:
1. 树转换为二叉树
(1) 树中所有相同双亲结点的兄弟结点之间加一条连线。
(2) 对树中不是双亲结点第一个孩子的结点,只保留新添加的该结点与左兄弟结点之间的连线,删去该结点与双亲结点之间的连线。
(3) 整理所有保留的和添加的连线,使每个结点的第一个孩子结点连线位于左孩子指针位置,使每个结点的右兄弟结点连线位于右孩子指针位置。
如下是树转换为二叉树的过程示例图:
2.二叉树还原为树
(1) 若某结点是其双亲结点的左孩子,则把该结点的右孩子、右孩子的右孩子……都与该结点的双亲结点用线连起来。
(2) 删除原二叉树中所有双亲结点与右孩子结点的连线。
(3) 整理所有保留的和添加的连线,使每个结点的所有孩子结点位于相同层次高度。
如下是二叉树还原为树的过程示意图:
(由于我自己太懒了,图没有自己画,以上图片来自百度图片搜索)
边栏推荐
- 求方阵的无穷范数「建议收藏」
- PyTorch 进阶之路:在 GPU 上训练深度神经网络
- kubernetes之DaemonSet以及滚动更新
- VIP的实现原理
- pandas connects to the oracle database and pulls the data in the table into the dataframe, filters all the data from the current time (sysdate) to one hour ago (filters the range data of one hour)
- 实现集中式身份认证管理的案例
- 这项工作事关中小学生生命安全!五部门作出联合部署
- 故障007:dexp导数莫名中断
- bpmn-process-designer基础上进行自定义样式(工具、元素、菜单)
- Process sibling data into tree data
猜你喜欢
随机推荐
深入解析volatile关键字
[Community Star Selection] Issue 24 August Update Plan | Keep writing, refuse to lie down!More original incentive packages, as well as Huawei WATCH FIT watches!
SQL函数 %SQLSTRING
Grafana 9.0 released, Prometheus and Loki query builders, new navigation, heatmap panels and more!
LeetCode_位运算_简单_405.数字转换为十六进制数
What is consistent hashing?In what scenarios can it be applied?
快速幂---学习笔记
Deep understanding of Istio - advanced practice of cloud native service mesh
Find objects with the same property value Cumulative number Summarize
【StoneDB Class】Introduction Lesson 2: Analysis of the Overall Architecture of StoneDB
人像分割技术解析与应用
库函数的模拟实现(strlen)(strcpy)(strcat)(strcmp)(strstr)(memcpy)(memmove)(C语言)(VS)
leetcode:1201. 丑数 III【二分 + 数学 + 容斥原理】
50W+小程序开发者背后的数据库降本增效实践
并发编程10大坑,你踩过几个?
SQL function SQUARE
SAP ABAP OData 服务如何支持创建(Create)操作试读版
Aeraki Mesh Joins CNCF Cloud Native Panorama
Software designer test center summary (interior designer personal summary)
大中型网站列表页翻页过多怎么优化?