Java 在二进制搜索树中插入问题

Java 在二进制搜索树中插入问题,java,algorithm,search,data-structures,binary-search-tree,Java,Algorithm,Search,Data Structures,Binary Search Tree,我对我的二进制搜索算法感到困惑。我必须使用put()按给定顺序将以下整数插入空二叉树:4,1,3,5,2。我不能百分之百确定我做这件事的方法是否正确。这就是我所做的。。当我不得不插入2时,我感到困惑的主要部分出现了。我只是想确保我做得正确。谢谢大家 4 / \ 1 5 /\ 3 / 2 你是正确的,21最后是21。。。。然后2

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

       4
      / \
     1   5
    /\   
      3
      /
     2

你是正确的,2<42>1最后是2<3

插入二叉搜索树的规则如下:

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

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

如果该键是重复值,则不会插入

在你看来,你的答案可能是错误的,因为你可能认为在你3岁的时候生2个孩子对你来说很奇怪。别担心那奇怪的事。只要相信算法,始终遵循规则,您的插入就会起作用

我张贴了一个链接,你应该看看。它提供了许多数据结构的出色可视化,如果您再次遇到这样的问题,它将帮助您。该站点允许您按照您希望插入的任何顺序构建自己的二进制搜索树

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


看起来不错。。。。2 < 4.... 然后2>1。。。。然后2<3。。。。所以它变成了3的左孩子除了左斜杠
/
1
,在我看来一切都是正确的:)