红黑树(一)插入节点后的平衡操作超详细图解

本文介绍了红黑树的基本概念,包括其特点与平衡原则,并详细解析了红黑树的插入操作及平衡调整过程。

一、红黑树的概念

1.1简介

红黑树和AVL树一样,也是一种自平衡的二叉搜索树,只不过它的平衡并不像AVL树那么严格(AVL树要求任意节点左右子树的高度差不超过1),所以在树的高度上会比AVL树高一些,搜索的速度也会慢一些,但它插入与删除只需要进行O(1)级别的旋转操作,而AVL树的删除需要进行O(logn)的旋转,因此综合搜索、插入、删除这几个方面,红黑树的性能会优于AVL树,也正是如此,在现实生活中红黑树的应用也更多。

1.2红黑树的五条原则

红黑树具有五条原则,只要满足了这五条原则,一棵二叉搜索树就是红黑树,也保证了红黑树的平衡,后续插入、删除后的平衡操作,也以这五条准则为标准。

  1. 红黑树中的节点只能有红色和黑色两种颜色
  2. 根节点一定是黑色
  3. 叶子节点一定是黑色节点(所有空节点都涂为黑色,但在具体实现时不对空节点进行处理,可见下示例图)
  4. 红色节点的子节点只能是黑色节点(从这条准则中我们可以得到一些推论:红色节点的父节点也一定是黑色节点,若父节点是红色节点,则父节点显然不满足定义。从某一节点到子节点的路径中不可能有连续的两个红色节点)
  5. 从任意节点到叶子节点的任意路径上,黑色的节点数量一定相同
示例1

在这里插入图片描述

示例2

在这里插入图片描述

示例3

在这里插入图片描述

1.3红黑树与B树(B-树)的关系

在学习红黑树的插入、删除后的平衡操作前,最好先了解一下B树相关的概念(可见:请问,你心里有B树吗??(B树添加、删除操作详细图解)),这是因为当我们将一个黑色节点与相邻的红色节点组合成一个B树节点,红黑树与4阶B树(2-3-4树)是完美匹配的,而后续进行的平衡操作,在逻辑上也与B树完全相同。

红黑树

在这里插入图片描述

B树

在这里插入图片描述

我们可以知道,B树是

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值