一、红黑树的性质(重点)
- 每个节点不是红色就是黑色
- 根节点都是黑色
- 不可能有相连的两个红色节点
- 每个红色节点的孩子都是黑色;叶子节点都是黑色:出度为0,满足了性质就可以近视平衡啦,不一定是红黑,也可以是其他的
二、旋转的规则
- 所有插入的节点 都默认红色
- 变颜色的情况:当前节点的父亲是红色,且他的祖父的 另一个子节点也是红色(叔叔节点):
(1)、父亲节变为黑色
(2)、把叔叔节点设置为黑色
(3)、把祖父节点设置为红色
(4)、把指针设置的当前节点设置为当前要操作的(爷爷) 分析的点变换规则
2.左旋:当父节点是红色,叔叔节点是黑色的时候,且当前节点是右节点,左旋以父节点作为左旋
3.右旋:当父节点是红色,叔叔节点是黑色的时候,且当前节点是左节点,右旋:
(1)、父节点变为黑色
(2)、把祖父节点变为红色
(3)、以祖父节点作为操作进行旋转