树、二叉树、森林之间的转换方法

1.如何将一棵树转换成二叉树?

 
将树转换成二叉树:
① 加线:在各兄弟结点之间用虚线相连
② 抹线:对每个结点,除了其左孩子外,去除其与其余孩子之间的关系
③ 旋转:以树的根结点为轴心,将整树顺时针转45°

 
 
 
2将二叉树转换成树:
① 加线:若p结点是双亲结点的左孩子,则将p的右孩子,右孩子的右孩子……沿分支找到的所有右孩子,都与p的双亲用线连起来
② 抹线:抹掉原二叉树中双亲与右孩子之间的连线
③ 调整:将结点按层次排列,形成树结构
 
3.将二叉树转换为森林

<3>

二叉树转换为森林

 

 

将一棵二叉树转化成森林,可按如下步骤进行:

 

 

抹线:

将二叉树根结点与其右孩子之间的连线,以及沿着此右孩子的右链连续不继搜索到

的右孩子间的连线抹掉。这样就得到了若干棵根结点没有右子树的二叉树。

 

将得到的这些二叉树用前述方法分别转化成一般树。

将一棵二叉树转化成森林,可按如下步骤进行: 
 ①抹线:将二叉树根结点与其右孩子之间的连线,以及沿着此右孩子的右链连续不继搜索到的右孩子间的连线抹掉。这样就得到了若干棵根结点没有右子树的二叉树。
 ②将得到的这些二叉树用前述方法分别转化成一般树。

 

<3>

二叉树转换为森林

 

 

将一棵二叉树转化成森林,可按如下步骤进行:

 

 

抹线:

将二叉树根结点与其右孩子之间的连线,以及沿着此右孩子的右链连续不继搜索到

的右孩子间的连线抹掉。这样就得到了若干棵根结点没有右子树的二叉树。

 

将得到的这些二叉树用前述方法分别转化成一般树。

4,。将森林转换为二叉树  ①将森林中每棵子树转换成相应的二叉树。形成有若干二叉树的森林,
 ②按森林图形中树的先后次序,依次将后边一棵二叉树作为前边一棵二叉树根结点的右子树,这样整个森林就生成了一棵二叉树,实际上第一棵树的根结点便是生成后的二叉树的根结点。

<3>

二叉树转换为森林

 

 

将一棵二叉树转化成森林,可按如下步骤进行:

 

 

抹线:

将二叉树根结点与其右孩子之间的连线,以及沿着此右孩子的右链连续不继搜索到

的右孩子间的连线抹掉。这样就得到了若干棵根结点没有右子树的二叉树。

 

将得到的这些二叉树用前述方法分别转化成一般树。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值