先决条件:泛型树(N-array Trees)
在本文中,我们将讨论将泛型树转换为二叉树。以下是将 Generic(N-array Tree) 转换为二叉树的规则:
- 二叉树的根是泛型树的根。
- 通用树中节点的左子节点是二叉树中该节点的左子节点。
- 通用树中任何节点的右兄弟节点是二叉树中该节点的右子节点。
例子:
将以下泛型树转换为二叉树:
下面是上述通用树的二叉树:
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作为它的最左边的子节点,所以它是它在二叉树中最左边的子节点,而它有C作为它最右边的兄弟节点,所以它是它在二叉树中的右子节点。
- 现在C的最左边的子节点是F ,最右边的兄弟节点是D ,所以它们分别是它在二叉树中的左右子节点。
- 现在D将I作为其最左边的子节点,它是二叉树中的左子节点,但没有任何最右边的兄弟节点,因此二叉树中没有任何右子节点。
- 现在对于I , J是它最右边的兄弟节点,因此它是它在二叉树中的右子节点。
- 类似地,对于J , K是它最左边的子节点,因此它是它在二叉树中的左子节点。
- 现在对于C , F是其最左边的子节点, G是其最右边的兄弟节点, H是其恰到好处的兄弟节点,因此它们分别形成了左、右和右子节点。
如果您想与行业专家一起参加直播课程,请参阅Geeks Classes Live