二叉树、树、森林的相互转化
目录
1)树转化为二叉树
- 连:把同一结点的孩子连起来;
- 剪:剪短第一个孩子以外其它孩子与双亲结点的连线;
- 调:调整结构,使符合二叉树结构;
2)森林转化为二叉树
- 将森林中的每棵树转化为二叉树;
- 第二颗二叉树作为第一颗二叉树根节点的右子树;
- 重复2直至所有二叉树连为一颗二叉树;
3)二叉树转化为树
- 调整结构:将二叉树斜方向分层;
- 连:不同层的相连结点连在第一个兄弟结点的双亲结点;
- 剪:断开兄弟结点之间的连线;
4)二叉树转化为森林
- 断:链接断开,使二叉树的根节点没有右孩子;
- 将得到的每棵二叉树转化为树;