红黑树
实施红黑树
红黑树代码文档
红黑树规则
每个节点可以是红色或黑色,根始终是黑色。
每个内部节点都有2个子节点[nil,leaves]。
没有2个相邻的红色节点。
对于任何节点Q,从Q到其子孙的任何路径都必须具有相同数量的黑色节点。
1.插入:总是作为红叶节点插入
树是空的将节点作为根插入,并使其颜色为“黑色”。
树不是空的
父母是黑人只需插入即可。
父母是红色的
红叔叔
将叔叔和父母的颜色切换为“黑色”。
将GrandParent的颜色切换为“红色”。
叔叔是黑色还是零
叔叔和节点方向一致
左右旋转| 左右旋转。
交换Node和GrandParent的颜色。
叔叔和结对面
左右旋转。
交换Parent和GrandParent的颜色
1