请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

删除节点后,将右子树挂接到node的左子树是会不会出现大小异常?

波波老师你好:
你在删除最小节点的时候,
Node rightNode =node.right;
size–;
return node.right;
将要删除节点的右子树挂接到上个节点的左子树上,会不会出现挂接后的左子树的值大于node的值啊,好纠结这点?

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2020-06-10 05:07:28

不会。因为二分搜索树的性质是,一个节点的左子树的所有节点都会小于这个节点本身。所以,要删除节点的右子树的所有节点一定比上一个节点小(因为我们一直在向左找)。


试试看,你能不能够造出一个反例,出现你说的情况?如果不能,再仔细想想为什么?二分搜索树的什么性质在阻止这一点?


继续加油!:)

1 回复 有任何疑惑可以回复我~
  • 谢谢波波老师,嗯嗯,我回去看看二叉树的添加,添加的时候咱们用的递归,如果要添加的元素小于当前节点的元素值,那么,就低轨道当前节点的左子树上,所以,一个节点的左子树的所有节点都会小于这个节点本身
    回复 有任何疑惑可以回复我~ 2020-06-10 09:50:38
  • liuyubobobo 回复 提问者 weixin_慕田峪5104257 #2
    就是这个意思。继续加油!:)
    回复 有任何疑惑可以回复我~ 2020-06-10 10:20:50
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信