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

红黑树

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

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

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

2.根节点是黑色。

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

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

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

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

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

相关文章

Head First 设计模式总结

Head First 设计模式总结

设计模式读书总结链接: https://pan.baidu.com/s/1fjM5mhJH67wN73sUhOiZTA 密码: od09...

Java transient关键字使用小记

Java transient关键字使用小记

1)一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。 2)transient关键字只能修饰变量,而不能修饰方法和类。注意,本地变量是不能被tran...

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

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

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

发表评论

访客

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