数据结构-红黑树【手撕】
0,红黑树简介
定性:红黑树就是一种二叉搜索树
二叉搜索树的特点【要求】:
- 左子树上所有的节点的值均小于或等于他的根节点的值
- 右子数上所有的节点的值均大于或等于他的根节点的值
- 左右子树也一定分别为二叉排序树
图-二叉搜索树
本身搜索目标数值的时候和二分查找法非常相似。
但是这种普通的二叉搜索树,简单易实现的缺点就是:容易腿瘸!!!瘸腿之后它的搜索性能会退化为链表类型O(n)
图-瘸腿的二叉搜索树
红黑树的特性【要求】:
- 节点是红色或者黑色【只有红黑两种颜色】
- 根节点是黑色
- 每个叶子的节点都是黑色的空节点(NULL)
- 每个红色节点的两个子节点都是黑色的。
- 从任意节点到其每个叶子的所有路径都包含相同的黑色节点。
图-红黑树样例
1,实现方法
2,应用领域
探究未知是最大乐趣