二叉树,树,森林之间的相互转化

树转化为二叉树

    1.加线: 树中所有相邻兄弟之间加一条连线
    2.删线: 对每个结点,只保留其与第一个孩子结点之间的连线,删掉该结点与其他孩子结点之间的连线
    3旋转调整: 以树的根结点为轴心,将整棵树顺时针旋转一定角度,使之层次结构清晰,左右子树分明。
在这里插入图片描述

二叉树转换为树

    1.加线: 如果一个结点是它双亲结点的左孩子,则将这个结点的右孩子,右孩子的右孩子……等都与这个结点的双亲结点相连。
    2.删线: 删掉原二叉树中所有双亲结点与右孩子之间的连线
    3.调整
在这里插入图片描述

森林转化为二叉树

    1.转化: 将森林中的每一棵树都转化为相应的二叉树
    2.加线: 在相邻的各棵二叉树的根结点之间加线,使之连为一体
    3.旋转调整: 以第一棵二叉树的根结点为轴心,将整棵树顺时针旋转一定角度。
在这里插入图片描述

二叉树转换为森林

    1.加线: 若某结点是其双亲的左孩子,则把该结点的右孩子,右孩子的右孩子……都与该结点的双亲结点间加上连线
    2.删线: 删掉原二叉树中所有双亲结点与右孩子之间的连线
    3.旋转调整
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_51656756/article/details/121243073