Al insertar un elemento en un árbol de despliegue, las rotaciones se realizan en pares, ya sea en zig-zag o en zig-zig. Cuando hay que realizar un número impar de rotaciones, uno podría hacer la rotación adicional que comienza en la hoja o guardar la rotación adicional y hacerlo en la raíz. ¿Importa?
Por ejemplo, en la imagen adjunta inserto un 4 en un BST y lo "extiendo" a la raíz. En la parte superior de la figura, primero ubico el par zig-zig en el nodo de hoja y realizo la separación en zig-zag desde la parte inferior, dejando una rotación final derecha en la raíz. En la parte inferior de la figura, primero hago la rotación impar comenzando desde la hoja, y luego hago una separación en zig-zig hasta la raíz.
¿Cual es correcta? ¿O ambos conducirán al rendimiento habitual de splay-tree?
fuente