红黑树特性:
根节点必须是黑色,红色节点的子节点必须是黑色.
从任意节点到子孙节点的黑节点数量相同。
调整规则:
新插节点是红色;
1根节点是黑色。
2.如果父节点是黑色则插入。
3.如果父节点是红色,叔父节点也是红色,插入之后,把父节点 叔父节点变为黑色,祖父节点重新按照规则插入。
4.如果父节点是红色,叔父节点是黑色或者空:分情况讨论
a.如果插入节点是父节点的左孩子,并且父节点是祖父节点的右孩子,则进行右旋,并将父节点设为新节点重新插入。
b.如果插入节点是父节点的右孩子,并且父节点是祖父节点的左孩子,则进行左旋,并将父节点设为新节点重新插入。
5.如果以上都不满足,则将父节点设置为黑色,祖父节点设置为红色:
如果当前节点是父节点的左孩子,父节点是祖父节点的左孩子,则进行右旋。
其他情况左旋。