当前位置:首页 > 算法 > 正文内容

红黑树

淙嶙8年前 (2018-07-19)算法1374

红黑树是一种自平衡的二叉查找树。除了符合二叉查找树的基本特征外,还具有如下特征:

1.每个节点是红色或黑色。

2.根节点是黑色。

3.每个叶子节点都是黑色的空节点(NIL节点)。[注意:这里叶子节点,是指为空(NIL或NULL)的叶子节点!]

4 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)

5.从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。

注意
(01) 特性(3)中的叶子节点,是只为空(NIL或null)的节点。
(02) 特性(5),确保没有一条路径会比其他路径长出俩倍。因而,红黑树是相对是接近平衡的二叉树。

下图中这棵树,就是一颗典型的红黑树:

相关文章

leetcode - 4寻找两个正序数组的中位数

leetcode - 4寻找两个正序数组的中位数

给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。 请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。 你可以假设 nu...

快速排序

快速排序

package com.dl.study.m3; import java.util.Arrays; /** * 分治法 * 把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分...

leetcode - 1.两数之和

leetcode - 1.两数之和

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。