你会在哪里添加' 4'到上面的二叉搜索树?

时间:2014-11-04 00:44:23

标签: binary-tree binary-search-tree

BST

你会在哪里添加' 4'到上面的二叉搜索树?为什么?

A)A

B)B

C)C

D)以上任何一种

我的TA说这只是A,但我在想为什么不能满足以上所有

3 个答案:

答案 0 :(得分:1)

只有A.如果你的号码小于5,从root开始,去左分支。如果您的号码大于5,请转右分支。每个节点都有相同的过程。

答案 1 :(得分:1)

答案:A

选项B和C都违反了BST属性;即新值' 4',其值小于' 5',最终会出现在' 5'的右子树中。 (正确的子树应该有更大的键。)

答案 2 :(得分:1)

如果您要搜索的值小于当前节点,则binary search树会按照左子节点工作,如果它找到具有所需值的节点或所需子节点,则更正是一个空树(null)。

所以要测试A,B或C:

  • 如果4大于5且小于8和6,则B是正确答案。
  • 如果4大于5且小于42,则C是正确答案。
  • 如果4小于5但大于3,则A是正确答案。

在一些愚蠢的数学领域或者平行宇宙中,所有这3个可能同时是正确的,但除此之外,其中只有一个在标准数论中是正确的。

或者从搜索角度(在阅读本文时从根目录查看树):

  • 4小于5所以左转。
  • 4大于3所以右转
  • 右侧节点为空,插入A

现在将2插入哪里?