红黑树的插入(红黑树添加)

电脑教程
电
电脑教程
4319
文章
0
评论
• 2023年6月9日10:44:25 • 电脑教程 • 阅读 17,283

红黑树是一棵自平衡二叉搜索树,所以查找和二叉搜索树的时间复杂度相同。插入和删除操作稍微复杂一点,颜色变更很迅速,需要少量O(logN)的时间,旋转不会超过三次,插入操作只需要两次旋转。因此,红黑树结点的插入和删除只需要O(logN)的时间复杂度,即可恢复红黑树的性质。

01

红黑树的插入(红黑树添加)

插入

如何将结点插入红黑树?三步骤:

1、将红黑树当成一棵二叉搜索树,插入;

2、将新插入的结点着成红色;

3、通过旋转和重新着色,使其满足红黑树的性质。

首先,这棵树本身是一棵自平衡二叉搜索树,插入结点后不改变二叉搜索树的事实,不论是左旋、右旋还是着色,也不改变这个事实;

其次,将新结点着成红色,不会违背“从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点”的性质,只会违背“如果一个节点是红色的,则它的子节点必须是黑色的”这一条性质,使违背的性质zui少化,减少了我们处理的工作量;

zui后,通过一系列的旋转和重新着色,使新树满足红黑树的所有性质,重新成为一棵红黑树。

根据父结点的颜色,分为三种情况:

1)插入结点为根结点,将结点着成黑色,完成;

2)插入结点的父结点为黑色,无须处理;

3)插入结点的父结点为红色,则插入结点一定存在祖父结点和叔叔结点(即使叔叔结点为空,也是一个黑色结点),我们根据叔叔结点的颜色,再分成三种情况。

1

当前结点的父结点为红色,叔叔结点也为红色

1) 将“父节点”设为黑色。2) 将“叔叔节点”设为黑色。3) 将“祖父节点”设为“红色”。4) 将“祖父节点”设为“当前节点”(红色节点);即,之后继续对“当前节点”进行操作。

红黑树的插入(红黑树添加)

2

当前结点的父结点为红色,叔叔结点为黑色,且当前结点为其父结点的右孩子

1) 将“父节点”作为“新的当前节点”。2) 以“新的当前节点”为支点进行左旋。

红黑树的插入(红黑树添加)

3

当前结点的父结点为红色,叔叔结点为黑色,且当前结点为其父结点的左孩子

1) 将“父节点”设为“黑色”。2) 将“祖父节点”设为“红色”。3) 以“祖父节点”为支点进行右旋。

红黑树的插入(红黑树添加)红黑树的插入(红黑树添加)

注:凡属于本公众号内容,未经允许不得私自转载,否则将依法追究侵权责任。

以上内容来源于网络,由“WiFi之家网”整理收藏!

点击展开全文

相关推荐

台式电脑多少价位可剪辑视频 电脑教程

台式电脑多少价位可剪辑视频

在当今数字化时代,视频剪辑已经成为许多人日常生活中的重要一部分,尤其是在自媒体和短视频行业的快速发展下,越来越多的人开始尝试制作和编辑视频。然而,进行视频编辑并不仅仅依赖于软件的操...
台式电脑显卡推荐 电脑教程

台式电脑显卡推荐

在选购台式电脑时,显卡是一个至关重要的部件,因为它直接影响到电脑的图形处理能力和整体性能。无论是玩游戏、进行图形设计工作,还是观看高清视频,显卡的选择都直接关系到用户的体验。因此,...
台式电脑音响插哪个接口 电脑教程

台式电脑音响插哪个接口

在现代家庭或办公室中,台式电脑已成为不可或缺的设备,音响作为增强音频体验的重要配件,其连接方式也显得尤为重��。了解如何正确地将音响连接到台式电脑,不仅关系到音质的发挥,还能避免不...