森林与二叉树的转换

公众号:CppCoding

树转化为二叉树

1.树中的所有相邻的兄弟之间加一条线。
2.对于树中的每个结点,只保留它与第一个孩子结点之间的连线,删去它与其他孩子结点之间的连线。
3.以树的根结点为轴心,将整棵树顺时针转动一定的角度。

兄弟结点是右孩子
子结点是左孩子

在这里插入图片描述

森林转化为二叉树

1.将森林中的每棵树转化为二叉树。
2.第一棵二叉树不动,从第二棵二叉树开始,依次把后一棵树的根结点作为前一棵二叉树的右孩子。

在这里插入图片描述

二叉树转换为树和森林

1.如果某结点是双亲的左孩子,则把该结点的右孩子,右孩子的右孩子,…,都与该结点的双亲结点用线连接起来。
2.删去原二叉树所有的双亲结点与右孩子结点的连线。(新添加的连线不删)
3.整理即可得树或者森林。

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值