0.若是只有一个节点,那么就直接做为根,涂黑,若是父为黑,或者祖父为空,那么不作操做3d
1.叔叔节点不为空且为红 那么就修改父,叔叔,祖父节点颜色,最后把当前节点设置为祖父节点,在进行平衡blog
2.若是父为右节点,而且叔叔节点为空或者为黑,当前节点是右节点,若是父不为空, 那么把父设置为黑,而后若是祖父不为空,那么祖父改成红,并对祖父进行左旋,而后再平衡二叉树
3.若是父为右节点,而且叔叔节点为空或者为黑,当前节点是左节点, 吧当前节点的父节点进行右旋im
4.若是父为左节点,而且叔叔节点为空或者为黑,当前节点是左节点, 吧当前节点的祖父节点改成红进行右旋d3
5.若是父为左节点,而且叔叔节点为空或者为黑,当前节点是右节点, 吧当前节点的祖父节点改成红进行左旋db
画出来的几个过程图img