面试之必掌握知识点:红黑树(二)

本文详细介绍了红黑树的定义、如何将2-3-4树转化为红黑树,以及红黑树的插入和删除操作,强调了2-3-4树与红黑树之间的关联。通过实例展示了红黑树插入过程中的染色和旋转规则,以及删除操作的处理方式,帮助读者更好地理解和掌握红黑树在面试中的重要知识点。
摘要由CSDN通过智能技术生成


前面我们学习了2-3树和2-3-4树的基本定义和基本操作。现在我们继续前进攻克红黑树!有了前面的基础和原理的支持,我们就能更加容易的理解红黑树各种旋转以及染色等操作,而不用再去死记硬背。话不多说开整~

1. 红黑树的定义

  1. 每个节点要么是红色要么是黑色
  2. 根节点是黑色
  3. 所有的叶子节点都是黑色。
  4. 红色节点的子节点一定是黑色的(不能有连续的红色节点)
  5. 从任一节点到其每个叶子节点的路径所包含的黑色节点数目都相同。

注意红黑树的叶子节点通常都是空指针,并不保存具体的值,在之后的图中我们会用一个黑色的小点代替,在变换的过程会忽略他们,并且视他们的有值的父节点为逻辑上的叶子节点

看完了定义后,你一定感觉有点发懵,这红黑树的定义和2-3树,2-3-4树有什么关系呢?掌握了2-3树,2-3-4树,我还是看不懂红黑树的变换?别着急,咱们逐一来分析一下,看看2-3树2-3-4树和红黑树的共同之处。

2. 如何将2-3-4转变为红黑树

  • 2-3-4树中的2节点对应红黑树中的黑色节点,且黑色节点的子节点也全部为黑色。
    在这里插入图片描述
  • 2-3-4树中的3节点对应红黑树中的黑色节点,且黑色节点的子节点只有一个为黑色。
    在这里插入图片描述
  • 2-3-4树中的4节点对应红黑树中的黑色节点,且黑色节点的子节点全部都是红色的。
    在这里插入图片描述
    注:在本篇中,红黑树中希腊字母部分代表黑色的子节点

看到这里我们就能发现两棵树之间的关联:

  • 红黑树中的黑色节点代表2-3-4树中的一个新节点。
  • 红黑树中的红色节点和它的黑色父节点在2-3-4树中属于同一个节点中的不同元素。
  • 红黑树中一条路径上的黑色节点有多少个,就代表着2-3-4树一共有多少层。

了解了2种树之间的关联我们再具体看一下,红黑色在插入和删除的过程中是怎么由2-3-4树转换过去的?

3. 红黑树的插入

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值