数据结构-红黑树【手撕】

0,红黑树简介

  定性:红黑树就是一种二叉搜索树

  二叉搜索树的特点【要求】:

  • 左子树上所有的节点的值均小于或等于他的根节点的值
  • 右子数上所有的节点的值均大于或等于他的根节点的值
  •  左右子树也一定分别为二叉排序树

 

图-二叉搜索树

   本身搜索目标数值的时候和二分查找法非常相似。

  但是这种普通的二叉搜索树,简单易实现的缺点就是:容易腿瘸!!!瘸腿之后它的搜索性能会退化为链表类型O(n)

  

图-瘸腿的二叉搜索树

   红黑树的特性【要求】:

  1. 节点是红色或者黑色【只有红黑两种颜色】
  2.  根节点是黑色
  3. 每个叶子的节点都是黑色的空节点(NULL)
  4. 每个红色节点的两个子节点都是黑色的。
  5. 从任意节点到其每个叶子的所有路径都包含相同的黑色节点。

图-红黑树样例 

  

1,实现方法

2,应用领域

原文地址:https://www.cnblogs.com/Mufasa/p/11581141.html