数据结构基础之二叉树的转换

本文介绍了如何将树和森林转换为二叉树的方法。对于树的转换,首先在所有兄弟节点间添加连线,然后仅保留与首个子节点的连线并删除其他连线,最后进行层次调整以形成二叉树。对于森林的转换,则先将每棵树单独转换为二叉树,再依次将后续二叉树的根节点作为前一棵二叉树根节点的右子节点。

树、森林与二叉树的转换
一,树转换为二叉树
1,加线。在所有兄弟结点之间加一条线
2,去线。对树中每个结点,只保留它与第一个孩子结点的连线与步骤1中加的线。删除其他的线。
3,层次调整。以树的根结点为轴心,将整棵树顺时针旋转一定的角度。注意,第一个孩子是二叉树结点的左孩子,兄弟转换过来的孩子是结点的右孩子。

二,森林转换为二叉树
1,把每棵树转换为二叉树
2,第一棵二叉树不动,从第二课二叉树开始,依次把后一棵二叉树的根结点作为前一棵二叉树的根结点的右孩子。用线连接起来,当所有的二叉树连接起来后就得到了由森林转换来的二叉树

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值