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

RBOLES B+

1. INTRODUCCIN
Los rboles B+ constituyen otra mejora sobre los rboles B,pues conservan la propiedad de acceso aleatorio rpido y permiten adems un recorrido secuencial rpido.En un rbol B+ todas las claves se encuentran en hojas,duplicndose en la raz y nodos interiores aquellas que resulten necesarias para definir los caminos de bsqueda.Para facilitar el recorrido secuencial rpido las hojas se pueden vincular,obtenindose ,de esta forma,una trayectoria secuencial para recorrer las claves del rbol. Su principal caracterstica es que todas las claves se encuentran en las hojas.Los rboles B+ ocupan algo ms de espacio que los rboles B,pues existe duplicidad en algunas claves.En los rboles B+ las claves de las pginas raz e interiores se utilizan nicamente como ndices.

El orden de insercin de los diversos elementos fue: p v d e b c s a r f t q

2. BUSQUEDA EN UN RBOL B+
En este caso,la bsqueda no debe detenerse cuando se encuentre la clave en la pgina raz o en una pgina interior,si no que debe proseguir en la pgina apuntada por la rama derecha de dicha clave.

3. INSERCIN EN UN RBOL B+
Su diferencia con el proceso de insercin en rboles B consiste en que cuando se inserta una nueva clave en una pgina llena,sta se divide tambin en otras dos,pero ahora la primera contendr con m/2 claves y la segunda 1+m/2, y lo que subir a la pgina antecesora ser una copia de la clave central.

4. BORRADO EN UN RBOL B+
La operacin de borrado debe considerar:

Si al eliminar la clave(siempre en una hoja)el nmero de claves es mayor o igual a m/2 el proceso ha terminado. Las claves de las pginas raz o internas no se modifican aunque sean una copia de la eliminada,pues siguen constituyendo un separador vlido entre las claves de las pginas descendientes. Si al eliminar la clave el nmero de ellas en la pgina es menor que m/2 ser necesaria una fusin y redistribucin de las mismas tanto en las pginas hojas como en el ndice

Los rboles-B+ se han convertido en la tcnica mas utilizada para la organizacin de archivos indizados. La principal caracterstica de estos arboles es que todas las claves se encuentran en las hojas y por lo tanto cualquier camino desde la raz hasta alguna de las claves tienen la misma longitud. En la figura 8.4 representamos un diagrama de un arbolB+ de orden 2.

Figura 8.4 Arbol-B+ de orden 2 Es de notar que los arboles-B+ ocupan un poco mas de espacio que los arboles-B, y esto ocurre al existir duplicidad en algunas claves. Sin embargo, esto es aceptable si el archivo se modifica frecuentemente, puesto que se evita la operacin de reorganizacin del rbol que es tan costosa en los arboles-B. Formalmente se define un rbol-B+ de la siguiente manera: 1. Cada pagina, excepto la raz, contiene entre d y 2d elementos. 2. Cada pagina, excepto la raz, tiene entre d + 1 y 2d + 1 descendientes. Se utiliza m para expresar el numero de elementos por pagina. 3. La pagina raz tiene al menos dos descendientes. 4. Las paginas hojas estn todas al mismo nivel. 5. Todas las claves se encuentran en las paginas hojas. 6. Las claves de las paginas raz e interiores se utilizan como ndices. 7. Bsqueda De Arboles-B+ La operacin de bsqueda en rboles-B+ es similar a la operacin de bsqueda en rbolesB. El proceso es simple, sin embargo puede suceder que al buscar una determinada clave la

misma se encuentra en una pagina raz o interior, en dicho caso no debe detenerse el proceso, sino que debe continuarse la bsqueda con la pagina apuntada por la rama derecha de dicha clave. Por ejemplo, al buscar la clave 55 en el rbol-B+ de la figura 8.4 se advierte que esta se encuentra en la pagina raz. En este caso, debe continuarse el proceso de bsqueda en la pagina apuntada por la rama derecha de dicha clave. 8.5.2 Insercin en rboles B+ El proceso de insercin en rboles-B+ es relativamente simple, similar al proceso de insercin en rboles-B. La dificultad se presenta cuando desea insertarse una clave en una pagina que se encuentra llena ( m = 2d ). En este caso, la pagina afectada se divide en 2, distribuyndose las m + 1 claves de la siguiente forma: " las d primeras claves en la pagina de la izquierda y las d + 1 restantes claves en la pagina derecha ". Una copia de la clave del medio sube a la pagina antecesora. En la figura 8.5 hay dos diagramas que ilustran como funciona este caso.

Figura 8.5 Insercin de la clave 13 en un rbol B+. a) Antes de insertar la clave.b)Despus de insertarla. Puede suceder que la pagina antecesora se desborde nuevamente, entonces tendr que repetirse el proceso anterior. Es importante notar que el desbordamiento en una pagina que no es hoja no produce duplicidad de claves. El proceso de propagacin puede llegar hasta la raz, en cuyo caso la altura del rbol puede incrementarse en una unidad. En la figura 8.6 se presentan dos diagramas que clarifican y resuelven este caso.

Figura 8.6 Insercin de la clave 66 en un rbol-B+ a) Antes de insertar la clave b) Despus de insertarla. Ejemplo 8.5.1 Supngase que se desea insertar las siguientes claves en un rbol-B+ de orden 2 que se encuentra vaco: claves: 10-27-29-17-25-21-15-31-13-51-20-24-48-19-60-35-66 Los resultados parciales que ilustran el crecimiento del rbol se presentan en los siguientes diagramas correspondientes a la figura 8.7

Figura 8.7 Inserciones en un rbol-B+ de orden2 (primera parte)

Figura 8.7 Insercin de un rbol-B+ de orden 2 (Segunda parte) Ejemplo 8.5.2 Dado el rbol-B+ de orden 2 de la figura 8.8a), verifique si el mismo queda igual al de la figura 8.8b), luego de insertar las siguientes claves: claves: 43-21-77-58-63-15-37-41-72-39-95-70

Figura 8.8 Inserciones en un rbol-B+ de orden 2 a) Antes de insertar las claves. b) Despus de insertarlas. 8.5.3 Borrado En Arboles-B+ La operacin de borrado en rboles-B+ es mas simple que la operacin de borrado en rboles-B. Esto ocurre porque las claves a eliminar siempre se encuentran en las paginas hojas. En general deben distinguirse los siguientes casos: 1. Si al eliminar una clave, m queda mayor o igual a d entonces termina la operacin de borrado. Las claves de las paginas raz o internas no se modifican por mas que sean una copia de la clave eliminada en las hojas. ( Se presenta un ejemplo de este caso en la figura 8.9 ).

Figura 8.9 Eliminacin de la clave 25 a) Antes de eliminar la clave. b) Despus de eliminarla. 2. Si al eliminar una clave, m queda menor a d entonces debe realizarse una redistribucin de claves, tanto en el ndice como en las paginas hojas. ( Hay dos ejemplos que ilustran como funciona este caso en la figura 8.10 ).

Figura 8.10 Eliminacin de la clave 27 a) Antes de eliminar la clave. b) Despus de eliminarla. Nota: Al eliminar la clave 27 de la pgina A, m queda menor a d por lo que debe realizarse una redistribucin de las claves. Se toma la clave que se encuentra ms a la derecha en la rama izquierda de 25 (21 de la pgina B). Se coloca dicha clave en la pgina A y una copia de la misma, como ndice, en la pgina C.

Figura 8.10 Eliminacin de la clave 21 b) Antes de eliminar la clave. d) Despus de eliminarla. Nota: Al eliminar la clave 21 de la pgina A, m queda menor a d por lo que debe realizarse una redistribucin de claves. Como no se puede tomar una clave de la pgina B puesto que m quedara menor a d, entonces se realiza una fusin de las pginas A y B. Puede suceder que al eliminar una clave y al realizar una redistribucin de las mismas, la altura del rbol disminuya en una unidad. ( En la figura 8.11 se presentan dos diagramas que clarifican y resuelven este caso).

Figura 8.11 Eliminacin de la clave 37 a) Antes de eliminarla. b) Despus de eliminarla. Nota: Al eliminar la clave 37 de la pgina A, m queda menor a d por lo que debe realizarse una redistribucin de claves. Como no puede tomarse una clave de la pgina B puesto que m quedara menor a d, entonces se realiza una fusin de las pginas A y B. Sin embargo, luego de est fusin m queda menor a d en la pgina C, por lo que debe bajarse la clave 29 de la pgina E y realizarse una nueva fusin, ahora de las pginas C y E. La altura del rbol disminuye en una unidad. Ejemplo 8.5.3 Suponga que desea eliminar las siguientes claves del rbol-B+ de orden 2 de la figura 8.12: claves: 15-51-48-60-31-20-10-25-17-24

Figura 8.12 Arbol-B+ de orden 2 Los resultados parciales que ilustran como funciona el procedimiento se presentan en los diagramas de la figura 8.13.

Figura 8.13 Eliminaciones en un rbol-B+ de orden 2 (Primera parte)

Figura 8.13 Eliminaciones en un rbol-B+ de orden 2 (Segunda parte) Ejemplo 8.5.4 Verifique si el rbol-B+ de orden 2 de la figura 8.12 queda igual al de la figura 8.14, luego de eliminar las siguientes claves: claves: 51-20-15-21-25-17

Figura 8.14 Arbol-B+ de orden 2 luego de eliminar las claves 51, 20, 15, 21, 25, y 17

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