红黑树添加节点的规则

文章详细阐述了红黑树的定义,包括节点颜色规则和叶节点特性。添加节点时,根据父节点颜色有不同的处理策略,如节点设为黑色、旋转等。同时提供了B站视频教程链接和在线演示资源,帮助读者深入理解红黑树的运作机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

树的定义:(20条消息) 数据结构:树(Tree)【详解】_数据结构里的树_UniqueUnit的博客-优快云博客

一、红黑树的定义:
  1. 每一个节点都是红色或者黑色的

  1. 根节点必须是黑色

  1. 叶节点必须是黑色的

  1. 两个红色的节点不能相连

  1. 任意节点到所有后代叶节点的简单路径上,黑色节点数量相同

二、添加节点的规则:
  1. 添加的节点是根节点:

  1. 直接变为黑色

  1. 添加的节点是非根节点:

  1. 若父亲节点是黑色,则无需任何操作

  1. 若父亲节点是红色:

  1. 叔叔节点为红色:则将父节点设为黑色,将叔叔节点设为黑色;然后将祖父节点设为红色,若祖父为根节点,则将祖父设为黑色,若祖父为非根,将祖父设置为当前节点在进行判断

  1. 叔叔节点为黑色,并且当前节点是父节点的右孩子:则把父节点作为当前节点并左旋,再进行判断

  1. 叔叔节点为黑色,并且当前节点是父节点的左孩子:把父节点设为黑色,将祖父节点设为红色,以祖父节点为支点进行右旋。

详细可以看B站:集合进阶-12-数据结构(红黑树、红黑规则、添加节点处理方案详解)

(20条消息) 红黑树原理(增加节点、删除节点、修改节点、查询节点)_红黑树添加节点_目与木鱼的博客-优快云博客

教你透彻了解红黑树(修订版)-优快云社区

红黑树增删改查演示地址https://www.cs.usfca.edu/~galles/visualization/RedBlack.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xiang1397

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值