公众号:CppCoding
树转化为二叉树
1.树中的所有相邻的兄弟之间加一条线。
2.对于树中的每个结点,只保留它与第一个孩子结点之间的连线,删去它与其他孩子结点之间的连线。
3.以树的根结点为轴心,将整棵树顺时针转动一定的角度。
兄弟结点是右孩子
子结点是左孩子
森林转化为二叉树
1.将森林中的每棵树转化为二叉树。
2.第一棵二叉树不动,从第二棵二叉树开始,依次把后一棵树的根结点作为前一棵二叉树的右孩子。
二叉树转换为树和森林
1.如果某结点是双亲的左孩子,则把该结点的右孩子,右孩子的右孩子,…,都与该结点的双亲结点用线连接起来。
2.删去原二叉树所有的双亲结点与右孩子结点的连线。(新添加的连线不删)
3.整理即可得树或者森林。