数据结构-树、森林、二叉树的相互转换

一棵树转换成一棵二叉树

一棵树转换成二叉树的过程:
①树中所有相邻兄弟之间加一条连线。

②对树中的每个结点只保留它与长子(即最左边的孩子结点)之间的连线,删除与其他孩子之间的连线。

③以树的根节点为轴心,将整棵树顺时针转动45°,使结构层次分明。

例题1:
在这里插入图片描述

Step 1:
在这里插入图片描述

Step 2:
在这里插入图片描述

Step 3:
在这里插入图片描述




例题2:

在这里插入图片描述

Step 1:
在这里插入图片描述

Step 2:
在这里插入图片描述

Step 3:
在这里插入图片描述











一棵二叉树转换成一棵树

一棵二叉树转换成一棵树的过程:
①若某结点是其双亲的左孩子,则把该结点的右孩子、右孩子的右孩子等都与该结点的双亲结点用连线连起来。

②删除原二叉树中所有双亲结点与右孩子结点之间的连线。

③以根节点为轴心,逆时针转动45°,使结构层次分明。

例题1:

Step 1:
在这里插入图片描述
Step 2:
在这里插入图片描述

Step 3:

在这里插入图片描述

Step 4:
在这里插入图片描述

Step 5:
在这里插入图片描述

例题2:

在这里插入图片描述





森林转换一棵二叉树

森林转换一棵二叉树的过程:
①将森林中的每棵树转换成相应的二叉树。

②第一颗二叉树不动,从第二棵二叉树开始,依次把后一棵树的根节点作为前一棵二叉树的根节点的右孩子结点。

在这里插入图片描述
Step 1:
在这里插入图片描述
在这里插入图片描述

Step 2:
在这里插入图片描述






一棵二叉树转换森林

一棵二叉树转换森林的过程:
①抹掉二叉树根节点右链上的所有结点之间的“双亲-右孩子”关系,将其分成若干个以右链上的结点为根节点的二叉树,设这些二叉树bt1、bt2、…btm

②分别将二叉树bt1、bt2、…btm各自还原成一棵树。

在这里插入图片描述
Step 1:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Step 2:
在这里插入图片描述

  • 10
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值