转https://www.cnblogs.com/fengxf/p/10790832.html
红黑树是一种常见的自平衡二叉查找树,常用于关联数组、字典,在各种语言的底层实现中被广泛应用,Java 的 TreeMap 和 TreeSet 就是基于红黑树实现的。
本篇分享将为读者讲解红黑树的定义、创建和用途。
一.红黑树的定义
每个节点或者是黑色,或者是红色。
根节点是黑色。
每个叶子节点是黑色。
如果一个节点是红色的,则它的子节点必须是黑色的
从任意一个节点到叶子节点,经过的黑色节点是一样的。
这段关于 红黑树 的描述来源于 《算法导论》,你看完这段话可能一脸懵逼。