我对二进制搜索算法感到困惑。我必须使用put():4,1,3,5,2以给定的顺序将以下整数插入到空的二叉树中。我不是百分之百确定我是否采取了正确的方式来做这件事。这就是我所做的..当我不得不插入2时,我的主要困惑出现了。我只是想确保我正确地做到这一点。谢谢大家。
4
/ \
1 5
/\
3
/
2
答案 0 :(得分:2)
你现场, 2< 4 和 2> 1 ,最后 2< 3 强>
二进制搜索树插入规则如下:
如果要插入的键小于当前值,请将该键插入当前值左子树。
如果要插入的键大于当前值,请将该键插入当前值右子树。
如果密钥是重复值,则不会插入。
在你看来,你的答案是错误的,因为你可能认为作为一个人,你看起来很奇怪,有3个孩子,不要担心这种奇怪。只需信任该算法,一直遵循规则,您的插入就可以了。
我发布了一个您应该看一下的链接。它为许多数据结构提供了出色的可视化,如果再次遇到这样的问题,它将对您有所帮助。该站点允许您以您想要插入的顺序构建自己的二叉搜索树。
作为旁注:如果您将来对不同的数据结构有类似的问题,该网站还提供了许多其他数据结构可视化。