其他分享
首页 > 其他分享> > 红黑树保持平衡的三种基本操作

红黑树保持平衡的三种基本操作

作者:互联网

上一篇文章我们提到了红黑树。这是一种比较复杂 数据结构。所以,咱么就只能一点一点地抽丝剥茧。遇到这种比较复杂的问题,咱们切记贪多求快,要一点一点的蚕食。当然了,我说的这个也只是针对大部分普通人。天赋异禀的小天才们不要对号入座哈。接着上一篇文章,我们今天来说一说红黑树保持平衡的基本三种操作。 1 变色: 红变黑 黑变红 2 左旋 3 右旋。  其中变色太简单,咱们就不说了。咱们说说左旋和右旋。

旋转示意图如下:

我们首先看右旋:

原根节点的左孩子成为新的根节点, 原根节点变为新根节点的右孩子 ,注意此时y的右孩子为x,那么原来y的右孩子呢? 变成x的左孩子, 想想,只有x这里有个空。 因为y原来是x的左孩子,但是现在变成了新的根节点,x的左孩子位置空出来了。

左旋和右旋是镜像操作。

原根节点右孩子成为新的根节点,原根节点变为新根节点的左孩子,新根节点的左孩子变为原节点的右孩子

今天这一篇博文我们就简单记一下这三种基本操作。后面我们会更细致去分析红黑树的具体的情况。在后续插入删除操作中这三种操作将会被平凡使用

标签:原根,孩子,新根,右旋,保持平衡,红黑树,基本操作,左旋,节点
来源: https://blog.csdn.net/qq_14952615/article/details/120239665