一,森林转换为二叉树
森林是若干树的集合,将森林中的每棵树转化为二叉树,再将每棵树的结点视为兄弟,这样,森林也同样可以转换为二叉树。具体方法如下:
(1)将森林中的每棵树转化为二叉树。
(2)从第二棵二叉树开始,依次把后一棵树的根结点作为前一棵二叉树根结点的右孩子,当所有二叉树连起来后,此时所得到的二叉树就是由森林转换得到的二叉树。
下图给出了森林转换为二叉树的过程
二,二叉树转换为森林
是树转换为二叉树的逆过程。
(1)加线。若某结点X的左孩子结点存在,则将这个左孩子的右孩子结点、右孩子的右孩子结点、右孩子的右孩子的右孩子结点…,都作为结点X的孩子。将结点X与这些右孩子结点用线连接起来。
(2)去线。删除原二叉树中所有结点与其右孩子结点的连线。
(3)层次调整。整理由(1),(2)两步所得到的树或者森林,使之层次分明。