Вы находитесь на странице: 1из 7

UNIVERSIDAD RAFAEL LANDVAR

INGENIERA EN INFORMTICA Y SISTEMAS


ESTRUCTURA DE DATOS I
ING. IVN DE LEN

rboles multicamino y rboles B.

Hctor Armando Tello Itzep


Carn: 1688516
Fecha de entrega: 19-04-17
RBOLES MULTICAMINOS

Son aquellos rboles cuyos nodos pueden tener un nmero variable de hijos. En
este tipo de rbol conviene definir nodos externos especiales que no tienen hijos, y
normalmente no tienen ni nombre ni informacin asociada. Los nodos externos actan
como nodos ficticios para los nodos que no tienen el nmero de hijos especificados. Un
ejemplo de rboles multicamino son los rboles binarios.
Un rbol m-ario o multicamino cumple:
1. Cada nodo tiene hasta m hijos y guarda hasta m-1 elementos (nmero de hijos <=
(nmero de elementos +1)).
2. Los valores guardados en un nodo estn en orden ascendente.
3. Los valores de los primeros i hijos de A son menores que el elemento isimo
guardado en A.
4. Los valores de los ltimos m-i hijos de A son mayores que el elemento isimo
guardado en A.

Ventajas e inconvenientes

La principal ventaja de este tipo de rboles consiste en que existen ms nodos en un


mismo nivel que en los rboles binarios con lo que se consigue que, si el rbol es de
bsqueda, los accesos a los nodos sean ms rpidos.

El inconveniente ms importante que tienen es la mayor ocupacin de memoria, pudiendo


ocurrir que en ocasiones la mayora de los nodos no tengan descendientes o al menos no
todos los que podran tener desaprovechndose por tanto gran cantidad de memoria.
Cuando esto ocurre lo ms frecuente es transformar el rbol multicamino en su binario de
bsqueda equivalente.

Un tipo especial de rboles multicamino utilizado para solucionar el problema de la


ocupacin de memoria son los rboles B o rboles Bayer.

Ejemplo de un rbol 4-ario:


Insercin en un rbol 2-3-4
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:
1. insercin sin subdividir nodos
2. insercin subdividiendo nodos
3. insercin subdividiendo la raiz
Queremos insertar de una sola pasada, por tanto, cada nodo que encontremos lleno lo
subdividimos.

Insercin sin subdividir nodos:


No encontramos nodos llenos en el camino de la raz a la hoja:
Insercin subdividiendo nodos:
Cuando encontramos un nodo lleno en el camino de la raiz a la hoja:

Podemos necesitar varias divisiones si nos encontramos con ms de un nodo lleno en el


camino de la raz a la hoja.
El proceso de subdivisin mantiene el rbol equilibrado.

Insercin subdividiendo la raz:


Esto ocurre cuando nos encontramos la raz llena. Dividimos la raz (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, 10
Resultado:
RBOL B

B-rbol es un rbol de bsqueda que puede estar vaco o aquel cuyos nodos pueden
tener varios hijos, existiendo una relacin de orden entre ellos, tal como muestra el dibujo.
Un rbol-B de orden M (el mximo nmero de hijos que puede tener cada nodo) es un
rbol que satisface las siguientes propiedades:
1. Cada nodo tiene como mximo M hijos.
2. Cada nodo (excepto raz) tiene como mnimo (M)/2 claves.
3. La raz tiene al menos 1 hijos si no es un nodo hoja. (segn M)
4. Todos los nodos hoja aparecen al mismo nivel.
5. Un nodo no hoja con k hijos contiene k-1 elementos almacenados.
6. Los hijos que cuelgan de la raz (r1, , rm) tienen que cumplir ciertas condiciones:
1. El primero tiene valor menor que r1.
2. El segundo tiene valor mayor que r1 y menor que r2, etc.
3. El ltimo hijo tiene valor mayor que rm.

Los rboles B almacenan claves y contenidos:


Insercin
Eliminacin
Con el objetivo de minimizar costo en la bsqueda.
Los datos tambin se pueden presentar en recorridos.
Vaciar.
EstarVacio.
Insertar es:
Buscar donde insertar (bajar por el rbol).
Dividir o meter y decidir si se debe seguir propagando clave y nueva pgina(subir).
Al subir hay que informar si se propaga o no la divisin, adems de informar que clave
sube y la pgina que sube. Si la propagacin llegase a la raz:
Crear nueva raz.
Con clave que subi.
Donde la rama izquierda es la anterior raz.
Rama derecha es la pgina que sube.

Eliminar es:
Bajar por el rbol buscando la clave.
Eliminar la clave de la pgina pase lo que pase.
E informar a la raz si hubo problemas (seguir propagando) o no.
Fusionar y propagar (subir).
Si se propaga hasta la raz:
La nueva raz ser la rama ms izquierda.

Recorridos:
PreOrden.
InOrden.

Вам также может понравиться