给定一个 preOrder 和 inOrder 序列,可能有多少级阶 BST 序列?
How many level order BST sequences are possible given a preOrder and inOrder sequence?
当我尝试打印 BST 的等级顺序时,这个问题提示了我。
这是一个
Pre-Order Sequence: 4, 1, 2, 3, 5, 6, 7, 8
In_order Sequence : 1, 2, 3, 4, 5, 6, 7, 8
具有pre_order
和In_order
以上的BST的级别顺序序列是
[4, 2, 6, 1, 3, 5, 7, 8]
然而,对于同一个预购的中序序列,这种级别的排序序列似乎是可能的。 [4, 1, 5, 2, 6, 3, 7, 8]
。我不知道怎么办。我正在努力解决这个问题。
我无法在满足所有 pre_order、In-order 和 level order 序列的论文(绘图)中构建 BST。
如果中序遍历加上pre/post-order之一,就足以重构一棵二叉树了。此外,在 BST(二进制 search 树)的情况下,仅 post-order 或 pre-order 就足够了。
在你的例子中,从预购 4, 1, 2, 3, 5, 6, 7, 8
重建 BST 得到以下 BST:
4
/ \
1 5
\ \
2 6
\ \
3 7
\
8
这再次给出了唯一的水平顺序遍历 [4,1,5,2,6,3,7,8]
。
另请参阅:
以下组合将生成唯一的二叉树(可以是BST)。
Inorder and Preorder.
Inorder and Postorder.
Inorder and Level-order.
所以在你的情况下,给出了中序和预序,这将生成唯一的二叉树,在你的情况下是 BST,所以级别顺序对于该树来说是唯一的。
Pre-Order Sequence: 4, 1, 2, 3, 5, 6, 7, 8
In_order Sequence : 1, 2, 3, 4, 5, 6, 7, 8
SO 树将是
level 0- 4
level 1- 1,5
level 2- 2,6
level 3- 3,7
level 4- 8
等级顺序为
4,1,5,2,6,3,7,8
在排序中总会有唯一的层次顺序遍历
当我尝试打印 BST 的等级顺序时,这个问题提示了我。
这是一个
Pre-Order Sequence: 4, 1, 2, 3, 5, 6, 7, 8
In_order Sequence : 1, 2, 3, 4, 5, 6, 7, 8
具有pre_order
和In_order
以上的BST的级别顺序序列是
[4, 2, 6, 1, 3, 5, 7, 8]
然而,对于同一个预购的中序序列,这种级别的排序序列似乎是可能的。 [4, 1, 5, 2, 6, 3, 7, 8]
。我不知道怎么办。我正在努力解决这个问题。
我无法在满足所有 pre_order、In-order 和 level order 序列的论文(绘图)中构建 BST。
如果中序遍历加上pre/post-order之一,就足以重构一棵二叉树了。此外,在 BST(二进制 search 树)的情况下,仅 post-order 或 pre-order 就足够了。
在你的例子中,从预购 4, 1, 2, 3, 5, 6, 7, 8
重建 BST 得到以下 BST:
4
/ \
1 5
\ \
2 6
\ \
3 7
\
8
这再次给出了唯一的水平顺序遍历 [4,1,5,2,6,3,7,8]
。
另请参阅:
以下组合将生成唯一的二叉树(可以是BST)。
Inorder and Preorder.
Inorder and Postorder.
Inorder and Level-order.
所以在你的情况下,给出了中序和预序,这将生成唯一的二叉树,在你的情况下是 BST,所以级别顺序对于该树来说是唯一的。
Pre-Order Sequence: 4, 1, 2, 3, 5, 6, 7, 8
In_order Sequence : 1, 2, 3, 4, 5, 6, 7, 8
SO 树将是
level 0- 4
level 1- 1,5
level 2- 2,6
level 3- 3,7
level 4- 8
等级顺序为
4,1,5,2,6,3,7,8
在排序中总会有唯一的层次顺序遍历