TreeMap新增节点演化过程

按照 :插入 55 56 57 58 83 ,删除57 ,插入59 的顺序建树

 55直接插入、染黑就行56染红,57插入时,出现连续红节点,由于默认null节点是黑色,于是发生左旋

插入58时,又出现连续红色,此时父叔节点都是红色,则仅触发重新着色,不进行旋转,56从红变黑是因为根节点每次调整后都会染黑

插入83时再次需要调整,此时情况和57插入时类似,发生了左旋

57因为是叶节点,又是红色,因此可以直接删除

59插入时,再次进行调整,叔节点黑色,自己是左子结点,于是先右旋,右旋之后又触发了左旋条件,于是进行左旋

猜你喜欢

转载自blog.csdn.net/qq_34579060/article/details/93970238
今日推荐