网站首页 > 技术教程 正文
一、特点:
① 每个红黑树节点都是黑色或者红色
② 根节点都是黑色
③ 每个叶子节点都是黑色(指向空的叶子节点)
④ 如果一个叶子节点是红色,那么其子节点必须都是黑色的
⑤ 从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点(就是单独剔除红节点后的情况)
二、红黑树的维持平衡机制
在插入删除时要弄懂红黑树的维持平衡机制,即当插入或删除后,该结构满足不了红黑树的条件时,就会进行一下操作,左旋,右旋,颜色反转
1、左旋
逆时针旋转红黑树,理解为所有节点都左移一次,而 3 不可能有3个节点,故 4 就顺着顺序给了 2 当子节点
2、右旋
顺时针旋转红黑树,同理
3、颜色反转
①以红黑树的要求为基准,进行颜色的变更,但根节点是不会变化的
②当插入的红节点的父节点也为红节点,就得进行颜色反转
三、插入操作
时间复杂度:O(logn)
插入的默认为红节点,因为黑节点不好控制其红黑树的平衡,很难通过左旋右旋或者颜色变更来保持红黑树的特点。变色是不能原来的单个节点变化的。
①没有根节点,或者说没有父节点
②直接在黑节点上插入红节点,不用改变
③父节点是红节点,叔节点是黑节点,而祖父节点是黑节点(LL),插入的是左节点
④ 父节点是红节点,叔节点是黑节点,而祖父节点是黑节点(LR),插入的是右节点
⑤RR同理
⑥RL同理
- 上一篇: 红黑树的基础学习(红黑树讲解)
- 下一篇: 硬核图解红黑树并手写实现(红黑树讲解)
猜你喜欢
- 2024-10-20 红黑树和AVL树之间的区别(红黑树和b树区别)
- 2024-10-20 数据结构怎么讲都听不会!红黑树自平衡?左旋或右旋?一头雾水
- 2024-10-20 数据结构与算法-基础(十三)红黑树(1)概述
- 2024-10-20 红黑树(R-B tree)原理图文详解(红黑树构造)
- 2024-10-20 数据结构:有了二叉查找树、平衡树为啥还需要红黑树?
- 2024-10-20 问:红黑树的删除真的很难吗?其实是你没找到好的解题思路
- 2024-10-20 linux学习第21节,为什么要设计“红黑树”这么奇怪的二叉搜索树
- 2024-10-20 硬核图解红黑树并手写实现(红黑树讲解)
- 2024-10-20 17张图带你解析红黑树的原理!保证你能看懂!轻松应对面试
- 2024-10-20 红黑树的基础学习(红黑树讲解)
你 发表评论:
欢迎- 最近发表
-
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- linux移植(Linux移植freemodbus)
- 独家解读:Win10预览版9879为何无法识别硬盘
- 基于Linux系统的本地Yum源搭建与配置(ISO方式、RPM方式)
- Docker镜像瘦身(docker 减小镜像大小)
- 在linux上安装ollama(linux安装locale)
- 渗透测试系统Kali推出Docker镜像(kali linux渗透测试技术详解pdf)
- Linux环境中部署Harbor私有镜像仓库
- linux之间传文件命令之Rsync傻瓜式教程
- 解决ollama在linux中安装或升级时,通过国内镜像缩短安装时长
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)