二叉树与树之间的转换
- 二叉树转树
步骤:
- 若某结点的左孩子结点存在,将左孩子结点的右孩子结点、右孩子结点的右孩子结点……都作为该结点的孩子结点,将该结点与这些右孩子结点用线连接起来;
- 删除原二叉树中所有结点与其右孩子结点的连线;
- 整理(1)和(2)两步得到的树,使之结构层次分明。
如下图所示:
- 树转二叉树
步骤:
- 加线:就是在所有兄弟结点之间加一条连线;
- 抹线:就是对树中的每个结点,只保留他与第一个孩子结点之间的连线,删除它与其它孩子结点之间的连线;
- 旋转:就是以树的根结点为轴心,将整棵树顺时针旋转一定角度,使之结构层次分明。
如下图所示: