先决条件:通用树(N数组树)
在本文中,我们将讨论泛型树到二叉树的转换。以下是将泛型(N数组树)转换为二叉树的规则:
- 二叉树的根是泛型树的根。
- 通用树中节点的左子节点是二叉树中该节点的左子节点。
- 通用树中任何节点的右同级是二叉树中该节点的右子级。
例子:
将以下泛型树转换为二叉树:
以下是上述通用树的二叉树:
Note: If the parent node has only the right child in the general tree then it becomes the rightmost child node of the last node following the parent node in the binary tree.
In the above example, if node B has the right child node L then in binary tree representation L would be the right child of node D.
以下是将通用树转换为二叉树的步骤:
- 根据上述规则,通用树A的根节点是二叉树的根节点。
- 现在,一般树中根节点的最左子节点是B ,它是二叉树的最左子节点。
- 现在,由于B具有E作为其最左边的子节点,所以它是二叉树中它的最左子节点,而B具有C作为它的最右边的同级节点,因此它是二叉树中的它的右子节点。
- 现在C将F作为其最左侧的子节点,将D作为其最右侧的同级节点,因此它们分别是二叉树中的其左和右子节点。
- 现在D将I作为其最左子节点,它是二叉树中的左子节点,但没有任何最右兄弟节点,因此二叉树中没有任何右子节点。
- 现在,对于I , J是其最右边的同级节点,因此它也是二叉树中其右边的子节点。
- 类似地,对于J , K是它的最左子节点,因此它是二叉树中的它的左子节点。
- 现在,对于C , F是其最左侧的子节点,其具有G作为其最右侧的同级节点,其将H作为其最右侧的同级节点,因此它们分别形成了它们的左,右和右子级节点。