Búsquedas con distintas probabilidades de acceso
El mayor interés de los splay trees es que se acercan a los árboles óptimos que diseñamos en el capítulo de cotas inferiores cuando teníamos probabilidades de acceso conocidas, pero sin necesidad de ningún preprocesamiento. Demostraremos que si realizamos búsquedas sobre un splay tree , donde el elemento es buscado veces (por lo tanto ), entonces el costo total de las búsquedas es
Para ello, reusaremos el análisis ya hecho y sólo cambiaremos la noción de tamaño de un árbol. Definiremos ahora el peso de un nodo como la probabilidad de ser buscado, , y definiremos el tamaño de un subárbol con raíz como la probabilidad de que la búsqueda pase por el nodo , es decir,
Note que es un número entre y , por lo que es negativo, pero aún el logaritmo es monótonamente creciente. Todo el análisis realizado anteriormente vale, pues lo único que utilizamos sobre fue que (y ) es mayor en un subárbol que en un subconjunto disjunto de sus subárboles. Tenemos entonces que el costo amortizado de es
En la segunda línea usamos que, al final de la operación, está en la raíz, por lo cual . En la tercera línea usamos que, sin importar dónde estuviera en el árbol antes de empezar la operación, tendremos .
Sabemos que realizamos veces, de modo que sumando sobre todos los obtenemos el costo prometido. Note que esto implica un costo amortizado de por operación, donde es la entropía de las probabilidades de acceso a los elementos.
Los splay trees tienen otras propiedades interesantes que se pueden demostrar de forma similar, variando la definición de .