树,森林,二叉树相互转换[概念]

树转换为二叉树

像这样一颗好看的树怎么变成二叉树呢
在这里插入图片描述
步骤:

  1. 加线: 把亲兄弟们连接起来
    注意是亲兄弟哦 亲兄弟才是一家人哦
    在这里插入图片描述
  2. 去线:每个节点除了 与第一个节点的连线 以外把与 其他节点 的连线删除
    变成灰色的就是被删除的连线
    在这里插入图片描述
  3. 调整图像:每个节点如果有 孩子 ,那就将它作为自己的 左孩子 ,没有就是没左孩子,而如果有 右兄弟 就把 右兄弟 作为自己的 右孩子
    这波 这波叫兄弟变儿子
    在这里插入图片描述
    画的有亿点点low
    然后就成型了

森林转换为二叉树

现在是这三棵好看的树,怎么变成一棵好看的二叉树呢?
在这里插入图片描述
步骤:

  1. 将每棵树变成二叉树
    就是这几步:加线 去线 调整图像
    在这里插入图片描述
  2. 从 第二棵二叉树 开始,将 目前二叉树的根节点 连接到 前一个二叉树的根节点 上作为右孩子
    这样就变成一棵好看的二叉树了唉
    在这里插入图片描述
    在这里插入图片描述

二叉树转换为树

现在有这样一棵好看的二叉树,怎么变成一棵好看的树呢?
在这里插入图片描述

  1. 加线:如果 此节点 有左孩子节点 那就把它的 右孩子 , 右孩子的右孩子 ,右孩子的右孩子的右孩子 ...都和此节点相连接
    就是这样…
    .A是此节点,有左孩子B,那就把 B的右孩子C , B的右孩子C的右孩子D 与A相连...然后
    .B是此节点,有左孩子E,那就把 E的右孩子F 与B相连
    在这里插入图片描述
  2. 去线:去除 原来的 二叉树 所有节点 与 右节点 的连线
    …就是这几根线…
    在这里插入图片描述
    然后它就变成这个样子了(虚线就是已经被去除了的)
    在这里插入图片描述
  3. 调整下图像
    在这里插入图片描述

二叉树转为森林

就是把森林转为树的方法反过来…
判断:当 二叉树根节点 有右孩子 就可以转为 森林 ,否则就只能转为 树
在这里插入图片描述

  1. 从根节点开始,如果有右孩子就把根节点和右孩子的连线分开然后看被分出去的右孩子节点,如果有右孩子就把他们俩分开,然后又看被分出去的右孩子节点…
    这波…骨肉分离…
    还是看图吧…
    在这里插入图片描述
  2. 将每棵二叉树转换为树:加线,去线,调整图像
    …这样就好了…
    在这里插入图片描述

树和森林的遍历

反手就是记结论
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值