为什么要判断一定不会出现的情况 getBalanceFactor(node.left) = 0?

来源:12-4 旋转操作的基本原理

刹那_0

2019-11-06

老师,此情况对于<0不符合情况,但对于=0的情况此树应该是平衡的,不会出现=0的情况,虽然逻辑不会错,我的疑惑是为什么还是要加上呢?对于类似的情况我觉得只针对程序应有的逻辑做出相应判断不是更符合程序的逻辑思路吗?谢谢老师!

写回答

1回答

liuyubobobo

2019-11-06

再做 add 操作的时候,对 == 0 的情况确实不需要判断。但是,我们的平衡维护代码,后续也会使用在 remove 中,在 remove 的过程中,可能出现 == 0 的情况。


具体可以参考这里:https://coding.imooc.com/learn/questiondetail/102451.html


继续加油!:)

3
1
刹那_0
ok看到了,谢谢老师!
2019-11-06
共1条回复

玩转数据结构

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

6221 学习 · 1704 问题

查看课程