树和二叉树的转换
来源:互联网 发布:网络安全教育心得体会 编辑:程序博客网 时间:2024/05/21 07:13
树和二叉树是两种不同的数据结构,树实现起来比较麻烦,但是树可以转换为二叉树进行处理,处理完以后再从二叉树还原为树。
下面说说转换的方法:
1. 树转换为二叉树
(1) 树中所有相同双亲结点的兄弟结点之间加一条连线。
(2) 对树中不是双亲结点第一个孩子的结点,只保留新添加的该结点与左兄弟结点之间的连线,删去该结点与双亲结点之间的连线。
(3) 整理所有保留的和添加的连线,使每个结点的第一个孩子结点连线位于左孩子指针位置,使每个结点的右兄弟结点连线位于右孩子指针位置。
如下是树转换为二叉树的过程示例图:
2.二叉树还原为树
(1) 若某结点是其双亲结点的左孩子,则把该结点的右孩子、右孩子的右孩子……都与该结点的双亲结点用线连起来。
(2) 删除原二叉树中所有双亲结点与右孩子结点的连线。
(3) 整理所有保留的和添加的连线,使每个结点的所有孩子结点位于相同层次高度。
如下是二叉树还原为树的过程示意图:
(由于我自己太懒了,图没有自己画,以上图片来自百度图片搜索)
0 0
- 树 森林和二叉树的转换
- 树、森林和二叉树的转换
- 树、森林和二叉树的转换
- 树、森林和二叉树的转换
- 树和二叉树的转换
- 树、森林和二叉树的转换
- 树、森林和二叉树的转换
- 树、森林和二叉树的转换
- 树、森林和二叉树的转换
- 树、森林和二叉树的转换
- 树、森林和二叉树的转换
- 树、森林和二叉树的转换
- 树、森林和二叉树的转换
- 树、森林和二叉树的转换
- 树、森林和二叉树的转换
- 树、森林和二叉树的转换
- 树、森林和二叉树的转换
- 树和二叉树的转换
- 小马哥-----高仿红米note刷机 单卡4G版 6589芯片 2015新版机型 主板型号为t8907 W8907 警惕
- NULL和“” 的区别
- 同余定理
- Swift语法基础:16 - Swift的数组, 字典
- 儿童生命过程中的一个秘密——敏感期
- 树和二叉树的转换
- Tasky范例解析
- android 监控联系人变化
- DUILIB gif按钮
- opencv 的 ROI 和 COI
- [LeetCode Java] 15 3 Sum
- 高次方求模
- NYOJ-187
- 数组、指针和字符串:动态内存分配和释放