一、 规则
1.节点是红色或者黑色
2.根节点是黑色
3.每个叶节点是黑色的空节点(nil节点)
4.每个红色节点的两个子节点都是黑色(从每个叶子到根的所有路径上不能有两个连续的红色节点)
5.从任意节点到每个叶子节点的所有路径包含相同数目的黑色节点
通常插入新的节点设置为红色节点
二、旋转
1.左旋转:旋转红黑树的两个节点,使得父节点被自己的右节点取代,自己成为自己的左孩子
2.右旋转:旋转红黑树的两个节点,使得父节点被自己的左节点取代,自己成为自己的右孩子
1.节点是红色或者黑色
2.根节点是黑色
3.每个叶节点是黑色的空节点(nil节点)
4.每个红色节点的两个子节点都是黑色(从每个叶子到根的所有路径上不能有两个连续的红色节点)
5.从任意节点到每个叶子节点的所有路径包含相同数目的黑色节点
通常插入新的节点设置为红色节点
1.左旋转:旋转红黑树的两个节点,使得父节点被自己的右节点取代,自己成为自己的左孩子
2.右旋转:旋转红黑树的两个节点,使得父节点被自己的左节点取代,自己成为自己的右孩子