Académique Documents
Professionnel Documents
Culture Documents
A no 2005
N
al esfuerzo
medio de fracaso.
Las siguientes f ormulas muestran cu anto valen dichos esfuerzos:
C
N
=
I(A) +N
N
=
I(A)
N
+ 1 =
I(A)
i(A)
+ 1 (13)
C
N
=
E(A)
N + 1
=
E(A)
e(A)
(14)
Esfuerzo medio de localizaci on exitosa a priori
Analizaremos el esfuerzo medio de localizaci on exitosa en un arbol binario de b usqueda en el cual se
han incorporado los elementos de acuerdo a un orden aleatorio.
Asumiremos que las N! posibles secuencias de entrada son igualmente probables para construir el
arbol (o lo que es lo mismo, suponer que la entrada es aleatoria) y que todos los elementos son igualmente
probables de ser buscados con exito, y tomaremos como funci on de costo cantidad de celdas consultadas.
Por simplicidad denotaremos con I
N
a la suma de las longitudes de paso a nodos internos y E
N
la suma
de las longitudes de paso a nodos externos (si el arbol tiene N nodos internos). As podemos reescribir la
f ormula que relacionaba a las funciones i, I y E, para un arbol A con N nodos internos, como:
E
N
= I
N
+ 2 N (15)
y a las f ormulas de los esfuerzos medios de localizaci on exitosa y localizaci on que fracasa como:
C
N
=
I
N
N
+ 1 (16)
2
Usamos N en lugar de i(A) para hacer explcita la cantidad de elementos del arbol y para mayor claridad.
Estructuras de Datos y Algoritmos:
Arboles Binarios Ordenados 5
Universidad Nacional de San Luis
C
N
=
E
N
N + 1
(17)
Para deducir el esfuerzo de localizaci on exitosa a priori usaremos el hecho que los arboles binarios de
b usqueda no reestructuran los elementos luego de una alta, entonces podemos relacionar los esfuerzos de
localizaci on exitosa, alta y localizaci on que fracasa. Esto es porque la cantidad de celdas consultadas para
localizar exitosamente un elemento del arbol es exactamente uno m as que la necesaria para la localizaci on
que fracas o, indicando que dicho elemento no estaba en el arbol
3
.
Por lo tanto, podemos decir que el costo a priori de localizaci on exitosa para el primer elemento incor-
porado es uno m as que el esfuerzo medio de localizaci on que fracasa en un arbol con 0 elementos presentes;
que el costo a priori de localizar el segundo elemento incorporado es uno m as que el esfuerzo medio de lo-
calizaci on que fracasa con 1 elemento presente y as sucesivamente. Entonces, y dado que trabajamos bajo
hip otesis de isoprobabilidad de consultar cualquiera de los N elementos, podemos decir que:
C
N
= 1 +
C
0
+C
1
+C
2
+ +C
N1
N
= 1 +
N1
i=0
C
i
N
(18)
Adem as sabamos que:
I
N
= E
N
2 N (19)
al despejar de (15) I
N
, y usando (16), podemos escribir:
C
N
=
I
N
N
+ 1
=
E
N
2 N
N
+ 1
=
E
N
N
2 + 1
=
E
N
N
1 (20)
3
En lo que sigue asumiremos que no se realizan bajas en el arbol, porque sino no podemos asegurar que se mantenga la relaci on
existente entre esfuerzos de localizaci on exitosa, altas y localizaci on que fracasa.
Estructuras de Datos y Algoritmos:
Arboles Binarios Ordenados 6
Universidad Nacional de San Luis
pero en (20) podemos usar (17) para conseguir:
C
N
=
E
N
N
N + 1
N + 1
1
= C
N
N + 1
N
1
= C
1 +
1
N
1 (21)
y juntando (18) y (21) logramos:
C
1 +
1
N
1 = 1 +
N1
i=0
C
i
N
(22)
N
1 +
1
N
N
N = N +
N1
i=0
C
i
(23)
(N + 1) C
N
2 N =
N1
i=0
C
i
(24)
(N + 1) C
N
=
N1
i=0
C
i
+ 2 N (25)
desde (22) sacamos com un denominador a N (en la parte derecha de la igualdad) y luego pasamos N
multiplicando al otro miembro, desde (23) distribuimos el producto por N y luego pasamos el t ermino N
del lado derecho al lado izquierdo restando y asociamos los N y desde (24) pasamos el t ermino 2 N al lado
izquierdo sumando para llegar a (25). Finalmente logramos una f ormula recursiva de C
N
.
Para resolver la recurrencia planteada, reemplazamos N por N 1 en (25):
N C
N1
=
N2
i=0
C
i
+ 2 (N 1) (26)
=
N2
i=0
C
i
+ 2 N 2 (27)
Estructuras de Datos y Algoritmos:
Arboles Binarios Ordenados 7
Universidad Nacional de San Luis
ahora sustrayendo (27) a (25), miembro a miembro, obtenemos:
(N + 1) C
N
N C
N1
=
N1
i=0
C
i
+ 2 N
N2
i=0
C
i
2 N + 2 (28)
(N + 1) C
N
N C
N1
= C
N1
+ 2 (29)
(N + 1) C
N
= (N + 1) C
N1
+ 2 (30)
C
N
= C
N1
+
2
(N + 1)
(31)
desde (28) simplicamos lo m as posible la f ormula, desde (29) agrupamos a la derecha los t erminos en que
aparece C
N1
, los asociamos y sacamos a C
N1
como factor com un, desde (30) pasamos multiplicando
al otro t ermino a (N + 1) para despejar nalmente a C
N
, y obtenemos as la f ormula (31) que dene
recursivamente a C
N
.
Ahora, dado que C
0
= 0, podemos intentar resolver la recurrencia sustituyendo C
N1
por su denici on,
luego C
N2
por su denici on, y as sucesivamente hasta llegar a C
0
:
C
N
= C
N1
+
2
(N + 1)
= C
N2
+
2
N
+
2
(N + 1)
= C
N3
+
2
(N 1)
+
2
N
+
2
(N + 1)
.
.
.
= C
0
+
2
2
+
2
3
+ +
2
(N 1)
+
2
N
+
2
(N + 1)
reescribiendo la f ormula tenemos:
C
N
= C
0
+ 2
N+1
i=2
1
i
(32)
= C
0
+ 2
N+1
i=1
1
i
(33)
= C
0
+ 2 H
N+1
2 (34)
= 2 H
N+1
2 (35)
Estructuras de Datos y Algoritmos:
Arboles Binarios Ordenados 8
Universidad Nacional de San Luis
en (32) sacamos factor com un 2 y abreviamos las sumas en una sumatoria, en (33) sumamos y restamos 1
en el lado derecho de la igualdad y cambiamos as el lmite inferior de la sumatoria a 1, en (34) como la
sumatoria corresponde al n umero arm onico N + 1, la reemplazamos por su nombre (H
N+1
) y nalmente
reemplazamos C
0
por su valor.
Ahora podemos reemplazar C
N
en la f ormula (21) obteniendo:
C
N
= (2 H
N+1
2)
1 +
1
N
1 (36)
=
2 H
N
+
2
(N + 1)
2
(N + 1)
N
1 (37)
= 2 H
N
(N + 1)
N
+
2
(N + 1)
(N + 1)
N
2
(N + 1)
N
1 (38)
= 2 H
N
1 +
1
N
+
2
N
2
1 +
1
N
1 (39)
= 2 H
N
1 +
1
N
+
2
N
2
2
N
1 (40)
= 2 H
N
1 +
1
N
2 1 (41)
= 2 H
N
1 +
1
N
3 (42)
2 ln N
1 +
1
N
3 (43)
Finalmente llegamos a una f ormula para el esfuerzo medio de localizaci on exitosa a priori (como sub-
producto tambi en obtuvimos el esfuerzo medio de localizaci on que fracasa a priori).
Se puede observar que la f ormula (42) obtenida en este desarrollo es la misma que aquella que se puede
obtener utilizando tanto el desarrollo algebraico puro, como el obtenido utilizando un desarrollo mixto
(algebraico junto con funciones generatrices)
4
.
La f ormula (43) que aproxima a C
N
evidencia que el esfuerzo medio de localizaci on exitosa a priori en
un arbol binario de b usqueda
5
, es O(log N).
4
Ver la f ormula (42) del apunte sobre esfuerzo medio de localizaci on exitosa en arbol binario de b usqueda.
5
Observar que el esfuerzo m aximo para el mejor arbol posible es log N.
Estructuras de Datos y Algoritmos:
Arboles Binarios Ordenados 9
Universidad Nacional de San Luis
Arboles AVL)
Se dene un arbol binario de b usqueda balanceado en altura o arbol AVL (A /B
V,
)
6
recursiva-
mente de la siguiente manera:
1. /B
V,
2. Si (A
1
/B
V,
y A
2
/B
V,
y v 1 y A
1
v y v A
2
y [ h(A
1
) h(A
2
) [ 1) entonces
A = A
1
, v, A
2
) /B
V,
Notar que en la denici on la relaci on de orden entre arboles y valores de 1 excluye la igualdad; por lo
tanto, a diferencia del arbol binario de b usqueda, el arbol AVL no admite elementos repetidos. La raz on de
ello es que si se admitieran valores iguales, por alguna de las ramas, al realizar una operaci on para mantener
el balance se puede perder la condici on de ser un arbol binario de b usqueda (Ejercicio: mostrar un ejemplo
en que esto ocurra).
Claramente los arboles AVL al mantener el balance en altura logran principalmente un mejor esfuerzo
m aximo de localizaci on respecto del arbol binario de b usqueda, y por ello tambi en mejoran el esfuerzo
medio; pero esto se consigue a costa de que las operaciones de alta y baja sean m as costosas.
En estos arboles no es posible relacionar los esfuerzos de localizaci on exitosa, alta y localizaci on que
fracasa, a un bajo la hip otesis de que no existan bajas, debido a que para mantener el balance de las alturas
se reestructura el arbol, y por ello un elemento no ocupa siempre la posici on en que se dio de alta.
Reconocimientos
El presente apunte se realiz o tomando como base apuntes de clases del Ing. Hugo Ryckeboer, en la
Universidad Nacional de San Luis y el libro The Art of Computer Programming: Sorting and Searching
(Vol. III) de Donald E. Knuth
7
.
6
El nombre de dichos arboles proviene de las iniciales de los dos matem aticos rusos que describieron esta estructura en 1962:
G. M. Adelson-Velski y E. M. Landis.
7
The Art of Computer Programming: Sorting and Searching (Vol. III), de D. Knuth, 2
da
Edici on, AddisonWesley Pearson
Education, ISBN: 0-201-89685-0.
Estructuras de Datos y Algoritmos:
Arboles Binarios Ordenados 10
Universidad Nacional de San Luis