![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/3f7a075bf9a54dc0afd1deb60d116663.png)
随处可见的红黑树
一般会用到[key,value]。
例如github中这个例子,第一个是访问网站,第二个是访问次数,但是这个不是静态的,这有个动态排序,并且当我们需要让相应的访问次数加1的时候,我们用红黑树查找的时候会比较快,所以用红黑树表示这个结构比较号。
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/0a3e0d4d98b14594a49fcd848e072bbb.png)
所以红黑树普遍用于强查找过程。对于这种强查找的过程:我们普遍用rbtree,hash,b/b+ tree,或者跳表。
红黑树的性质:
1.每个结点是红的或者黑的2.根结点是黑的
3.每个叶子结点是黑的
4.如果一个结点是红的,则它的两个儿子都是黑的(红红不相邻)
5.对每个结点,从该结点到其子孙结点的所有路径上的包含相同数目的黑结点
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/67854eb6ed8a4b0bad12afc037e7e7ed.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/5f165e6cbd674d1592d543a645d4c660.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/00d576f8d8114f10b48f6edf375893d5.png)