前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >树和二叉树的转换

树和二叉树的转换

作者头像
卡尔曼和玻尔兹曼谁曼
发布2019-01-22 17:30:53
1.2K0
发布2019-01-22 17:30:53
举报

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

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

二叉树还原为树
二叉树还原为树

(由于我自己太懒了,图没有自己画,以上图片来自百度图片搜索)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015年03月12日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档