Java 在二进制搜索树中插入问题
我对我的二进制搜索算法感到困惑。我必须使用put()按给定顺序将以下整数插入空二叉树:4,1,3,5,2。我不能百分之百确定我做这件事的方法是否正确。这就是我所做的。。当我不得不插入2时,我感到困惑的主要部分出现了。我只是想确保我做得正确。谢谢大家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
4
/ \
1 5
/\
3
/
2
你是正确的,2<4和2>1最后是2<3 插入二叉搜索树的规则如下: 如果要插入的键小于当前值,请将该键插入当前值左子树 如果要插入的键大于当前值,请将该键插入当前值右侧子树 如果该键是重复值,则不会插入 在你看来,你的答案可能是错误的,因为你可能认为在你3岁的时候生2个孩子对你来说很奇怪。别担心那奇怪的事。只要相信算法,始终遵循规则,您的插入就会起作用 我张贴了一个链接,你应该看看。它提供了许多数据结构的出色可视化,如果您再次遇到这样的问题,它将帮助您。该站点允许您按照您希望插入的任何顺序构建自己的二进制搜索树 作为旁注:如果您将来对不同的数据结构有类似的问题,该站点还提供许多其他数据结构可视化
看起来不错。。。。2 < 4.... 然后2>1。。。。然后2<3。。。。所以它变成了3的左孩子除了左斜杠
/
到1
,在我看来一切都是正确的:)