老师你好, 这里 y 的 right子树 都不一定为空把。这里不是很明白
来源:12-5 左旋转和右旋转的实现
小白程序员i
2018-09-04
写回答
1回答
-
liuyubobobo
2018-09-04
抱歉,你具体说的是哪里的y的右子树?在问答区我无法定位你具体看到了视频的哪里。。。:(
======
抱歉,我觉得我还是不很理解你的问题。以课程12-5小节的官方代码为例:https://github.com/liuyubobobo/Play-with-Data-Structures/blob/master/12-AVL-Tree/05-The-Implementation-of-Left-Rotation-and-Right-Rotation/src/AVLTree.java
对于右旋转的过程,y.right 可能为空,也可能不为空。
但是对于左旋转过程,y的右侧一定不为空,也就是y的右侧一定有一个x,这个x在左旋转后,要作为旋转后新的根节点。
我们在这一小节实现的代码,对这一点,没有进行判断,这是因为我们在这一小节实现的左右旋转,都是我们自己建立的私有的函数函数,为后续介绍的添加和删除操作提供帮助。在具体添加和删除的过程中,我们会进行判断,在正确的时机调用他们:)
加油!:)
022018-09-05
相似问题