树转换为二叉树
1、加线。所有兄弟之间加一条线
2、去线。对树中每个结点,只保留它与第一个孩子结点的连线,删除它与其他孩子结点之间的连线
3、层次调整。以树的根结点为轴心,整棵树顺时针45度
|
森林转换二叉树
1、每棵树转换为二叉树
2、每一棵二叉树不动,从第二棵开始,依次把后一棵二叉树的根结点作为前一棵二叉树的根结点的右孩子
|
二叉树转换为树
1、加线
2、去线
3、层次调整
|
二叉树转换为森林
1、根结点出发,若右孩子存在,则把与右孩子结点的连线删除,对分离后的二叉树才用相同的操作,直到没有右孩子。
2、分离的每棵树转换为二叉树即可。
|
树和森林的遍历
树的遍历:
1、先根遍历,先访问根结点,再依次遍历根的每一棵子树。
2、后根遍历,先依次后根遍历每课子树,然后再访问根根结点。
先根遍历:ABEFCDG 后根遍历:EFBCGDA
|
森林的遍历:
1、前序遍历,ABCDEFGHJI
2、后序遍历,BCDAFEJHIG
|