前言
1. 红黑树的来源-23树
- 红黑树的来源讲解
- 2-3树是 B 树的特例(3阶 B 树),通过红黑节点来描述 2-3 树中的不同节点,使得程序更简洁
2. 红黑树RBT vs 平衡二叉树AVL
- AVL 左右子树高度相差不超过 1,RBT 左右子树高度相差不超过一倍(完美的黑色平衡)
- AVL 树比红黑树更加平衡,但 AVL 树在插入和删除时会存在大量的旋转操作(红黑树可以通过颜色,少做几次旋转)
红黑树
1. 性质
- 每一个节点都有一个颜色,要么为红,要么为黑
- 树的根节点为黑色
- 父子节点不能同为红
- 从任一节点到每个叶子节点路径包含相同的黑色节点
- 所有叶子节点均为黑色节点(null)
2. 红黑树的插入删除
应用
1. TreeMap
2. TreeSet
- TreeSet
- TreeSet 底层实际使用的存储容器就是 TreeMap