树、森林与二叉树的转换
一,树转换为二叉树
1,加线。在所有兄弟结点之间加一条线
2,去线。对树中每个结点,只保留它与第一个孩子结点的连线与步骤1中加的线。删除其他的线。
3,层次调整。以树的根结点为轴心,将整棵树顺时针旋转一定的角度。注意,第一个孩子是二叉树结点的左孩子,兄弟转换过来的孩子是结点的右孩子。
二,森林转换为二叉树
1,把每棵树转换为二叉树
2,第一棵二叉树不动,从第二课二叉树开始,依次把后一棵二叉树的根结点作为前一棵二叉树的根结点的右孩子。用线连接起来,当所有的二叉树连接起来后就得到了由森林转换来的二叉树