Operaciones
La idea principal del splay tree es que el nodo que acaba de accederse debe quedar en la raíz del árbol. Para ello, una vez accedido un nodo , éste se lleva a la raíz mediante una operación llamada . Esta operación está formada por una secuencia de rotaciones. Para describirlas, usaremos el formato para indicar un árbol con el elemento en la raíz, subárbol izquierdo y subárbol derecho . Las rotaciones para ir subiendo al nodo son las siguientes:
- Zig-zig: .
- Zig-zag: .
- Zag-zig: .
- Zag-zag: .
- Zig: (sólo si es raíz).
- Zag: (sólo si es raíz).
--> imagenes
Supondremos que las rotaciones dobles cuestan 2 unidades de trabajo y las simples cuestan 1. Las operaciones del árbol se realizan de la siguiente manera:
Buscar
Se busca como en un árbol binario de búsqueda y luego se hace . Si no se encuentra, se hace , donde es el último nodo visitado.
Insertar
Se inserta como en un árbol binario de búsqueda y luego se hace .
Borrar
Se borra como en un árbol binario de búsqueda (es decir, si tiene dos hijos se reemplaza por su sucesor o predecesor in-order), y luego se hace , donde es el padre del nodo finalmente borrado (aquel sucesor o predecesor in-order de ).