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

红黑树

淙嶙7年前 (2018-07-19)算法713

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

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

2.根节点是黑色。

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

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

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

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

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

相关文章

多线程依次顺序轮询执行方案

多线程依次顺序轮询执行方案

多线程轮询执行问题解决方案: 比如有三个线程 thread1 ,thread2, thread3。 规则:thread1运行 -> thread2运行 -> thread3 -> t...

链接地址的签名生成过程

链接地址的签名生成过程

签名的作用校验url中对外暴露的参数传输过程中是否被篡改。生成url的时候,通过对其中的[全部或部分]参数+私钥进行MD5加密处理生成一个签名,将生成的签名一起放入url中,这样一个带有签名的url生...

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

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

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

发表评论

访客

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