一、红黑树
红黑树是一种自平衡的二叉查找树,是一种高效的查找树。它是由 Rudolf Bayer 于1972年发明,在当时被称为对称二叉 B 树(symmetric binary B-trees)。后来,在1978年被 Leo J. Guibas 和 Robert Sedgewick 修改为如今的红黑树。红黑树具有良好的效率,它可在 O(logN) 时间内完成查找、增加、删除等操作。因此,红黑树在业界应用很广泛,比如 Java 中的 TreeMap,JDK 1.8 中的 HashMap、C++ STL 中的 map 均是基于红黑树结构实现的。考虑到红黑树是一种被广泛应用的数据结构,所以我们很有必要去弄懂它。
- 树根:必为黑色
- 外部节点:必为黑色
- 其余节点:若为红,则只能有黑孩子(红节点,之父必黑)
- 外部节点到根节点:途中黑节点数目相等(黑深度)


https://www.ixigua.com/i6783852720995435011/
https://www.ixigua.com/home/874852209407496/video/
来源:oschina
链接:https://my.oschina.net/u/3727895/blog/3167684