Está en la página 1de 2

Insertar

La operacin de insercin en un rbol B es relativamente sencilla, slo hay un caso en el que este
procedimiento se complica ligeramente.
La primera accin a realizar en la operacin de insercin es localizar el lugar adecuado en el rbol
donde se insertar el nuevo elemento. De esta forma aseguraremos que la propiedad de orden se
mantiene.
Una vez localizado el lugar adecuado, hay que tener en cuenta el nmero de nodos que tiene la pgina
destino del nuevo elemento. Si tiene menos de 2n, entonces se inserta el nuevo nodo y se da por
finalizada la operacin de insercin.
La complejidad se produce cuando la pgina destino est al cmopleto de su capacidad, es decir, tiene
2n nodos. En estos casos el procedimiento a seguir es el siguiente:
1.

Insertar el nodo como si realmente tuviese sitio libre.

2.

Extraer el nodo que ocupa la posicin del medio e insertarlo en la pgina padre. Si no hubiese
pgina padre se creara una nueva pgina con ese nodo.

3.

Dividir la pgina original en dos nuevas pginas, cada una de ellas con n elementos. Estas
pginas sern los hijos derechos e izquierdo del nodo que promocion a la pgina superior.

4.

Si la pgina a la que promociona el nodo mediano tambin se encuentra completa, se


repetira la misma operacin de divisin y promocin.

Como consecuencia de que todas las hojas deben estar en el ltimo nivel, los rboles B crecen hacia
arriba, caracterstica que tambin los diferencia del resto de rboles estudiados hasta ahora. Este
crecimiento se produce cuando la insercin de un nodo en una pgina completa provoca su divisin.
Vamos a ver un ejemplo de insercin en rboles B.

Sobre este rbol se inserta el elemento 18. La pgina que le corresponde es la que contiene los
elementos 10,15,17,19. Al estar completa se produce el ascenso del nodo mediano (el 17) y la
divisin en dos pginas de la pgina original.

Borrar
El proceso de borrado puede llegar a ser algo ms complejo que la insercin.
La eliminacin de elementos siempre se hace en una hoja, si el nodo a borrar no estuviese en un nodo
hoja, se sustituira el nodo a borrar por el inmediatamente inferior o superior, que s que debe estar en
undo hoja.
El caso ms sencillo se produce cuando al eliminar un nodo de una pgina hoja, bien porque sea el
nodo a eliminar, bien porque sea un elemento que sustituy al nodo a eliminar, el tamao de la pgina
sigue siendo al menos n. De esta forma, la estructura del rbol se sigue cumpliendo y no hay que
realizar ninguna reestructuracin.
El problema surge cuando al eliminar un nodo de la hoja, la pgina se queda con menos del mnimo
nmero de nodos permitidos. En este caso se agrupa esta pgina con una de sus pginas vecinas y
con su nodo padre, el nodo mediano del conjunto resultante sera el nuevo padre, y el resto de nodos
se repartira equitativamente entre las dos pginas.
An resta un caso ms. Este caso es idntico al anterior, pero ahora la pgina vecina tiene el nmero
mnimo de nodos. En esta situacin se produce el efecto inverso a la divisin, las dos pginas se
agrupan en una sola, formando una nueva pgina de 2n-1 nodos. A esta pgina se le aade el nodo
central que estaba situado en la pgina padre.
Vamos a ver grficamente los efectos de una eliminacin.
Si sobre el rbol representado arriba se elimina el elemento 18, el rbol resultante sera el siguiente:

También podría gustarte