Algorithm 给定一个前序和序序序列,可以有多少级序BST序列?
当我试图打印BST的级别顺序时,这个问题提示了我 这是一个Algorithm 给定一个前序和序序序列,可以有多少级序BST序列?,algorithm,binary-tree,binary-search-tree,inorder,preorder,Algorithm,Binary Tree,Binary Search Tree,Inorder,Preorder,当我试图打印BST的级别顺序时,这个问题提示了我 这是一个 Pre-Order Sequence: 4, 1, 2, 3, 5, 6, 7, 8 In_order Sequence : 1, 2, 3, 4, 5, 6, 7, 8 具有上述pre_顺序和In_顺序的BST的级别顺序为 [4,2,6,1,3,5,7,8] 然而,对于相同的预订单序列,该级别的订单序列似乎是可能的[4,1,5,2,6,3,7,8]。我不知道怎么做。我正试图弄明白这一点 我无法在纸上(图纸)构建满足所有预订单、订单和
Pre-Order Sequence: 4, 1, 2, 3, 5, 6, 7, 8
In_order Sequence : 1, 2, 3, 4, 5, 6, 7, 8
具有上述pre_顺序
和In_顺序
的BST的级别顺序为
[4,2,6,1,3,5,7,8]
然而,对于相同的预订单序列,该级别的订单序列似乎是可能的<代码>[4,1,5,2,6,3,7,8]。我不知道怎么做。我正试图弄明白这一点
我无法在纸上(图纸)构建满足所有预订单、订单和级别订单序列的BST 如果将顺序遍历与前/后顺序遍历结合起来,就足以重建二叉树。此外,在BST(二进制搜索树)的情况下,仅后序或预序就足够了 在您的案例中,从预排序
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]
另见:
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]
另见:
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]
另见:
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和pre order将生成唯一的二叉树,在您的情况下是BST,所以该树的级别顺序将是唯一的
Pre-Order Sequence: 4, 1, 2, 3, 5, 6, 7, 8
In_order Sequence : 1, 2, 3, 4, 5, 6, 7, 8
所以树将是
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) 因此,在您的情况下,inorder和pre order将生成唯一的二叉树,在您的情况下是BST,所以该树的级别顺序将是唯一的
Pre-Order Sequence: 4, 1, 2, 3, 5, 6, 7, 8
In_order Sequence : 1, 2, 3, 4, 5, 6, 7, 8
所以树将是
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) 因此,在您的情况下,inorder和pre order将生成唯一的二叉树,在您的情况下是BST,所以该树的级别顺序将是唯一的
Pre-Order Sequence: 4, 1, 2, 3, 5, 6, 7, 8
In_order Sequence : 1, 2, 3, 4, 5, 6, 7, 8
所以树将是
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) 因此,在您的情况下,inorder和pre order将生成唯一的二叉树,在您的情况下是BST,所以该树的级别顺序将是唯一的
Pre-Order Sequence: 4, 1, 2, 3, 5, 6, 7, 8
In_order Sequence : 1, 2, 3, 4, 5, 6, 7, 8
所以树将是
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
在排序中,总是会有唯一的级顺序遍历我的疑问是,对于上述给定的前序和顺序,为什么可能有两个级顺序?您的第一级顺序是错误的。这意味着,如果您从给定的前序和顺序构造树,您将得到唯一的树,该树的级顺序将是[4,1,5,2,6,3,7,8][4,2,6,1,3,5,7,8]我的疑问是,对于上述给定的前序和顺序,为什么可能有两个级别顺序?您的第一个级别顺序是错误的。这意味着如果您根据给定的前序和顺序构造树,您将得到唯一的树,该树的级别顺序将是[4,1,5,2,6,3,7,8]而不是[4,2,6,1,3,5,7,8]我的疑问是,对于上述给定的前序和顺序,为什么可能有两级顺序?您的第一级顺序是错误的。这意味着,如果您从给定的前序和顺序构造树,您将得到唯一的树和该树的级别顺序将是[4,1,5,2,6,3,7,8]而不是[4,2,6,1,3,5,7,8]我的疑问是,对于上述给定的前序和顺序,为什么可能有两级顺序?您的第一级顺序是错误的。这意味着,如果您从给定的前序和顺序构造树,您将得到唯一的树和该树的级别顺序将是[4,1,5,2,6,3,7,8]而不是[4,2,6,1,3,5,7,8]看这个。我有一些相关的问题。看这个。我有一些相关的问题。看这个。我有一些相关的问题。看这个。我有一些相关的问题。