3-
Árboles3.4
Árboles de búsqueda
Los árboles multicamino |
||
Como hemos visto un árbol AVL es un árbol binario de búsqueda que permite búsqueda, inserción y borrado rápido a expensas de tener que mantener el árbol equilibrado, excepto que para bajar costes lo manteníamos "bastante equilibrado". Otra posible concesión en vez de equilibrio perfecto es permitir almacenar más de un elemento en cada nodo. En este caso es posible hacer que todos los subárboles estén perfectamente equilibrados. Un árbol m-ario ó multicamino cumple:
La búsqueda es sencilla.
Un árbol m-ario equilibrado sencillo es el árbol 2-3:
Como un árbol 2-3 de altura h tiene al menos tantos nodos como un árbol binario completo de altura h: N >= 2h+1-1por tanto h <= ceiling(log_2 (N+1) -1) Otro árbol m-ario equilibrado sencillo es el árbol 2-3-4 (4-ario, 0,2,3 ó 4 hijos por nodo, todas las hojas al mismo nivel):
Vamos a ver los 2-3-4 que son una buena introducción a los árboles B. Arboles 2-3-4 La altura de un 2-3-4 de N nodos es como mucho la altura de un 2-3 de N nodos, luego h<=log(N+1)Para buscar hay que examinar hasta 3 elementos en cada nodo, luego la búsqueda tarda O(3 h) = O(3 log(N+1))=O(log N)
Los nuevos elementos se insertan siempre en las hojas. Se atraviesa el árbol hacia abajo hasta encontrar la hoja donde insertar. Dependiendo de si encontramos nodos llenos tenemos 3 casos:
Inserción sin subdividir nodos: No encontramos nodos llenos en el camino de la raiz a la hoja:
Inserción subdividiendo nodos: Cuando encontramos un nodo lleno en el camino de la raiz a la hoja:
Podemos necesitar varias divisiones si nos encontramos con más de un nodo lleno en el camino de la raiz a la hoja. El proceso de subdivisión mantiene el árbol equilibrado. Inserción subdividiendo la raiz: Esto ocurre cuando nos encontramos la raiz llena. Dividimos la raiz (cuatro hijos) en 3 nodos de dos hijos cada uno.
Ejemplo: Generar un árbol 2-3-4 con la secuencia: 70, 50, 30, 40, 20, 80, 25, 90, 75, 10Resultado:
Se puede demostrar que la estructura
y las operaciones que se aplican a un árbol 2-3-4 son equivalentes
a las de un árbol rojo-negro.
|
||
|
||
E.Mayordomo
y K. Urzelai
elvira at posta.unizar.es karmelo at posta.unizar.es Fecha de actualización: 5-9-01 |