插入二进制搜索树问题

时间:2014-01-22 20:22:43

标签: java algorithm search data-structures binary-search-tree

我对二进制搜索算法感到困惑。我必须使用put():4,1,3,5,2以给定的顺序将以下整数插入到空的二叉树中。我不是百分之百确定我是否采取了正确的方式来做这件事。这就是我所做的..当我不得不插入2时,我的主要困惑出现了。我只是想确保我正确地做到这一点。谢谢大家。

       4
      / \
     1   5
    /\   
      3
      /
     2

1 个答案:

答案 0 :(得分:2)

你现场, 2< 4 2> 1 ,最后 2< 3

二进制搜索树插入规则如下:

如果要插入的键小于当前值,请将该键插入当前值左子树。

如果要插入的键大于当前值,请将该键插入当前值右子树。

如果密钥是重复值,则不会插入。

在你看来,你的答案是错误的,因为你可能认为作为一个人,你看起来很奇怪,有3个孩子,不要担心这种奇怪。只需信任该算法,一直遵循规则,您的插入就可以了。

我发布了一个您应该看一下的链接。它为许多数据结构提供了出色的可视化,如果再次遇到这样的问题,它将对您有所帮助。该站点允许您以您想要插入的顺序构建自己的二叉搜索树。

作为旁注:如果您将来对不同的数据结构有类似的问题,该网站还提供了许多其他数据结构可视化。

Binary Search Tree Visualization