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

来源:6-11 删除二分搜索树的最大元素和最小元素

weixin_慕田峪5104257

2020-06-09

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

写回答

1回答

liuyubobobo

2020-06-10

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


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


继续加油!:)

1
2
liuyubobobo
回复
weixin_慕田峪5104257
就是这个意思。继续加油!:)
2020-06-10
共2条回复

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程