菜鸟笔记
提升您的技术认知

树、森林、二叉树的转换

树转换成二叉树:

1.在树中所有的兄弟结点之间加一连线。

2.对每个结点,除了保留与其长子的连线外,去掉该结点的其他孩子连线。

如下图所示:

下面是森林转化二叉树:

1.先将森林中的每棵树变为二叉树。

2.再将各二叉树的根结点视为兄弟从左至右连接在一起,形成二叉树。

我看可以知道,树转二叉树,根结点只有左子数,森林转二叉树,根结点既有左子树,又有右子树。

二叉树到树、森林的转化

1.若结点x是其双亲y的左孩子,则把x的右孩子,右孩子的右孩子......,都与y用连线连起来。

2.去除双亲所有右孩子的连线。

如下图所示:

注意:判断一颗二叉树是转化成树还是森林,只要看二叉树根结点有没有右孩子,有的话就是森林,没有就是树。