R-B Tree,全称是Red-Black Tree又称红黑树,它是一种特殊的二叉查找树,红黑树的每个节点上都有存储位表示节点的颜色,可以是红或黑
根据二叉树的特性,在最坏的情况下,比如存储的是一个有序的数据的话,那么所以的数据都会形成一条链
![二叉树的一种最坏情况](https://i-blog.csdnimg.cn/blog_migrate/5f902ff331c8909780d4cdc495182a86.png)
![红黑树的实现](https://i-blog.csdnimg.cn/blog_migrate/fa4e62649423175dabb010c1f21313f0.png)
红黑树的约束
- 每个节点不是红色就是黑色
- 跟节点为黑色
- 每个叶子节点都是黑色
- 每个红色节点的子节点都是黑色
- 任意节点,到任意的节点的所有路径都包含相同的黑色节点
红黑树的节点插入
- 红黑树的节点插入追求大致平衡,不像AVL(平衡二叉树那样追求极致的平衡,平衡条件必须满足(所有结点的左右子树高度差不超过1))