输入数字插入,或点预设序列。每一步都会停下来告诉你:发生了什么、为什么这样做。
把每个红节点想象成“粘”在它黑色父亲身上,和父亲合成一个大节点,红黑树就变成了一棵所有叶子都在同一层的 2-3-4 树。所以:
· 新节点总是红色:等于往已有的大节点里塞一个键,不增加层数,黑高不变。
· 叔叔是红色 → 大节点已经塞满 4 个键,只能“分裂”:父亲和叔叔变黑、祖父变红(祖父被挤到上一层),问题向上传递。
· 叔叔是黑色 → 大节点还有空位,只是排列歪了:旋转一下再换个色,局部摆正,结束。
· 节点下方的小数字是黑高(从该节点到叶子路径上的黑节点数),可以观察它在每一步是否保持一致。
学完上面的内容,来检验一下。每题作答后马上看到解析;点「重做练习」清空重来。