Árboles binarios de búsqueda

Problema: si uso la estructura de forma arbitraria, no me garantiza que esté balanceado por lo que nada va a costar log(n)

Uso listas doblemente enlazadas

IMG_0776.jpeg

Primitivas de la ABB

En realidad se pone desde -inf a +inf las otras listas

Skip List

p= una probabilidad que determina si subo el elemento o no (lo hago al azar con probabilidad p)

IMG_0777.jpeg

En el nivel 0 (abajo de todo) tengo n elementos

En el nivel 1 tengo n/2 elementos: #L1 = B(n,p) → binomial de parámetros n, p

En el nivel 2 tengo n/4 elementos: #L2 = B(n, p**^2) → binomial de parámetros n, p^2**

… #Li = B(n, p**^i)**

L(n) = nivel que me conviene empezar a buscar = log 1/p (n) (donde yo espero que haya poquitas cosas)

Lo más probable es que el nivel más alto es parecido a L(n)