扩展补充一下树,二叉树和森林的转换

1.普通树转换为二叉树 1.加线,在所有兄弟节点之间加一条连线 2.断线,只保留每个节点第一个孩子(从左到右)

2.二叉树转换为普通树 上述过程的逆过程

3.森林转换为二叉树 1.先把森林中每棵树转换为二叉树 2.加线,第一棵二叉树不动,从第二棵树开始,依次把后一棵二叉树根节点作为前一棵二叉树的根节点的右孩子

4.二叉树转换为森林 上述过程逆过程

注:如何判断一棵二叉树是由森林还是普通的树转换而来呢? 根据二叉树根节点是否有右孩子来判断: 1.由普通树转换而来没有右孩子 2.由森林转换而来的有右孩子