当前位置:网站首页>树和二叉树的转换
树和二叉树的转换
2022-08-01 12:50:00 【51CTO】
树和二叉树是两种不同的数据结构,树实现起来比较麻烦,但是树可以转换为二叉树进行处理,处理完以后再从二叉树还原为树。
下面说说转换的方法:
1. 树转换为二叉树
(1) 树中所有相同双亲结点的兄弟结点之间加一条连线。
(2) 对树中不是双亲结点第一个孩子的结点,只保留新添加的该结点与左兄弟结点之间的连线,删去该结点与双亲结点之间的连线。
(3) 整理所有保留的和添加的连线,使每个结点的第一个孩子结点连线位于左孩子指针位置,使每个结点的右兄弟结点连线位于右孩子指针位置。
如下是树转换为二叉树的过程示例图:

2.二叉树还原为树
(1) 若某结点是其双亲结点的左孩子,则把该结点的右孩子、右孩子的右孩子……都与该结点的双亲结点用线连起来。
(2) 删除原二叉树中所有双亲结点与右孩子结点的连线。
(3) 整理所有保留的和添加的连线,使每个结点的所有孩子结点位于相同层次高度。
如下是二叉树还原为树的过程示意图:

(由于我自己太懒了,图没有自己画,以上图片来自百度图片搜索)
边栏推荐
猜你喜欢

数字孪生北京故宫,元宇宙推进旅游业进程

JMP Pro 16.0软件安装包下载及安装教程

如何使用 Authing 单点登录,集成 Discourse 论坛?

CloudCompare & PCL ICP registration (point to face)

The basic knowledge of scripting language Lua summary

故障007:dexp导数莫名中断

NebulaGraph v3.2.0 Performance Report

leetcode:1201. 丑数 III【二分 + 数学 + 容斥原理】

Data frame and remote frame of CAN communication
![leetcode: 1201. Ugly Number III [Dichotomy + Mathematics + Inclusion and Exclusion Principle]](/img/44/bf1d9b9d85939e73bc44be2f9701e1.png)
leetcode: 1201. Ugly Number III [Dichotomy + Mathematics + Inclusion and Exclusion Principle]
随机推荐
tensorflow2.0 handwritten digit recognition (tensorflow handwriting recognition)
How to Integrate Your Service Registry with Istio?
Windows 安装PostgreSQL
This article will take you to thoroughly clarify the working mechanism of certificates in Isito
LeetCode_动态规划_中等_377.组合总和 Ⅳ
The CAN communication standard frame and extended frame is introduced
Six Stones Programming: Problems must be faced, methods must be skillful, and functions that cannot be done well must be solved
数据挖掘-03
线上问题排查常用命令,总结太全了,建议收藏!!
SQL function SQUARE
六石编程学:问题要面对,办法要技巧,做不好的功能要想办法
34、树莓派进行人体姿态检测并进行语音播报
uniapp读取和写入文件
SQL functions STR
高仿项目协作工具【Worktile】,从零带你一步步实现组织架构、网盘、消息、项目、审批等功能
关于Request复用的那点破事儿。研究明白了,给你汇报一下。
PyTorch 进阶之路:在 GPU 上训练深度神经网络
英特尔全方位打造算力基础,助推“算”赋百业
关于亚马逊测评,你了解多少?
How to Integrate Your Service Registry with Istio?