红黑树(上)调色篇

简介: 红黑树是配合二叉树的一种实现,主要要满足以下性质:1.根节点必须为黑色2.父子不能同为红色3.从任何节点出发,到达叶节点经过的黑色节点数量一致对每个新插入的节点存在以下情况:1.没有爸爸:那么它自己变为黑色,做根节点。

红黑树是配合二叉树的一种实现,主要要满足以下性质:

1.根节点必须为黑色

2.父子不能同为红色

3.从任何节点出发,到达叶节点经过的黑色节点数量一致

对每个新插入的节点存在以下情况:

1.没有爸爸:

那么它自己变为黑色,做根节点。

20190727151252326.png

2.爸爸是黑色

直接插入

20190727151312505.png

3.爸爸是红色

这种情况有两种子情况

3.1uncle节点(父节点的兄弟节点)也是红色

新插入的为红色,爸爸变为黑色,uncle也变为黑色,祖父变为红色。

然后祖父网上递归以上过程。

20190727151403994.png

3.2uncle是黑色。以祖父节点为基准右旋,在手撕JAVA十三中已经介绍过右旋其实就是将当前提上去,原来在上一级的节点压下来,当前节点的右子树,给原来上一级节点做他的左子树。

20190728185758825.png

目录
相关文章
【全网最易懂的红黑树讲解】一眼看懂二叉树、平衡树、红黑树,一文打尽
【全网最易懂的红黑树讲解】一眼看懂二叉树、平衡树、红黑树,一文打尽
数据结构单链表之旋转链表 | 第十五套
数据结构单链表之旋转链表 | 第十五套
83 0
每日一题——链表的奇偶重排
每日一题——链表的奇偶重排
数据结构165-红黑树的变色2
数据结构165-红黑树的变色2
43 0
数据结构165-红黑树的变色2
数据结构164-红黑树的变色
数据结构164-红黑树的变色
73 0
数据结构164-红黑树的变色
一次字节面试,被二叉树的层序遍历捏爆了
大家好,我是bigsai,在数据结构与算法中,二叉树无论是考研、笔试都是非常高频的考点内容,在二叉树中,二叉树的遍历又是非常重要的知识点,今天给大家讲讲二叉树的层序遍历。
133 0
一次字节面试,被二叉树的层序遍历捏爆了
刷穿剑指offer-Day12-链表II 链表的环与交点
刷穿剑指offer-Day12-链表II 链表的环与交点
142 0
漫画:什么是红黑树?
二叉查找树(BST)具备什么特性呢?
148 0
漫画:什么是红黑树?
漫画:什么是 “跳表” ?
如何进行二分查找呢? 首先根据数组下标,定位到数组的中间元素:由于要查找的元素20,大于中间元素12,再次定位到数组右半部分的中间元素:这一次定位到的元素正好是20,查找成功。
249 0
漫画:什么是 “跳表” ?
漫画:什么是AVL树?(修订版)
而在AVL树当中,我们通过“平衡因子”来判断一颗二叉树是否符合高度平衡。 到底什么是AVL树的平衡因子呢? 对于AVL树的每一个结点,平衡因子是它的左子树高度和右子树高度的差值。只有当二叉树所有结点的平衡因子都是-1, 0, 1这三个值的时候,这颗二叉树才是一颗合格的AVL树。
193 0
漫画:什么是AVL树?(修订版)