我不这么认为!
" 1"是最新的插入节点。案例1:当前节点为红色,父亲为红色,叔叔为红色。
因此我们将父亲的颜色设置为黑色,叔叔的颜色为黑色,父亲的颜色为红色,并将父亲的父亲设置为当前节点,并继续前进。
经过上述操作后,又是案例1。
让我们想象一下:如果它总是成为案例1,那么旋转的数量不会只是2,也许更多。
我的上述陈述是对的?我想确认一下我的想法。
答案 0 :(得分:0)
如果插入位置是随机的,那么两次旋转是相当不寻常的。
从0个节点开始:
B(0%需要两次旋转)
b r(25%需要两次旋转)
b r r(0%需要两次旋转)
b b b r(20%需要两次旋转)
b b b r r(0%需要两次旋转)
在可以进行两次旋转的步骤中,也可以在不需要第二次旋转的情况下填充树。如果插入位置始终是最大值而不是随机值,那么双旋转插入的数量为0,但是您将在大约50%的时间内旋转一次。