空二叉树的插入值

时间:2015-11-08 08:48:40

标签: binary-tree

我遇到了与二叉树有关的问题。

enter image description here

他们已经给出了

从空的二进制搜索树开始,插入以下哪个整数键序列可以生成上面的二叉树?

有人可以请解释这背后的逻辑。

答案是: 5,3,4,9,1,7 ..有人可以解释一下这是怎么回事。

2 个答案:

答案 0 :(得分:0)

在二叉搜索树中插入节点时,将其与从根开始的每个节点进行比较。如果它大于当前节点,请向右下方分支并将其插入那里。否则,沿着左侧分支向下插入。如果没有分支,那么您找到了插入节点的位置。

从空树开始遵循此规则并尝试使用给定的值,直到获得他们为您提供的树。

答案 1 :(得分:0)

您只显示一个序列。别无选择?

有几个序列可以生成二叉搜索树。

给定任何二叉搜索树,产生它的插入序列是其前序遍历。

原因是在插入期间,已经插入的节点永远不会改变位置。您插入的每个新节点都将作为不完整节点的子节点放置。

插入对称前序遍历,即访问根,然后按预先排序访问右子树,最后按预先访问左子树也生成相同的树。

通常,插入前序遍历的任何变体都会生成原始树。

此外,级别遍历的插入,即首先是根,然后是第二级的节点,依此类推,产生原始的二进制搜索树。请注意,您可以置换同一级别的节点,结果将相同。