特点
- 每个节点或者是红色的或者是黑色的
- 根结点都是黑色的
- 每一个叶子节点(最后的空节点)是黑色的
- 如果一个节点是红色的,那么他的孩子节点都是黑色的
- 从任意一个节点到叶子节点,经过的黑色节点是一样的
所有红色节点都是向左倾斜的。
红黑树是保持黑平衡的二叉树,严格意义上讲,不是平衡的二叉树,最大的高度是2logn,查询的时间复杂度是O(logn)
实现
1 | public class RBTree<K extends Comparable<K>, V> { |
凡事必先骑上虎背
所有红色节点都是向左倾斜的。
红黑树是保持黑平衡的二叉树,严格意义上讲,不是平衡的二叉树,最大的高度是2logn,查询的时间复杂度是O(logn)
1 | public class RBTree<K extends Comparable<K>, V> { |