Está en la página 1de 35

Introduccin

Para almacenar muchos datos disco, es necesario una estructura de datos eficiente. Los accesos al disco son costosos en tiempo por lo que se debe evitar realizar muchos accesos a los datos. AVL es la mejor estructura para memoria principal, pero es ineficiente si se utiliza para almacenamiento secundario. Esto se debe a la cantidad de accesos necesarios para efectuar las rotaciones. Otro problema es que se requieren tantos accesos como niveles se recorran en el rbol para efectuar la bsqueda.

Arboles B
Es un rbol de bsqueda multicamino balanceado.
Surgi por la necesidad de hacer una bsqueda rpida, de cualquier tipo de contenido, sin reorganizar el archivo 10 20 5 8 12 18 25 65 92 99

Caractersticas de Arboles B
Un rbol B de orden n es aquel que: Todas las hojas del rbol estn en el nivel inferior. Cada nodo contiene entre n y 2n elementos, excepto el nodo raz, que puede tener entre 1 y 2n elementos. Si un nodo tiene m elementos, el nodo siempre contendr m + 1 hijos si no es un nodo hoja.

Ms caractersticas del rbol B


Un rbol B de orden n es aqul en que: Los elementos de un nodo estn ordenados linealmente. Los elementos estn organizados de tal forma que se cumple la regla de la bsqueda: a la izquierda menores, a la derecha mayores.

10 20

5 8
12 18

25 65 92 99

Proceso de Insercin
Buscar el nodo hoja en donde se debera agregar el elemento. Si hay espacio disponible en el nodo, agregar el elemento y terminar.

Si el nodo hoja NO tiene capacidad de almacenar el elemento, se deber crear un nuevo nodo al mismo nivel de la hoja y distribuir a los 2n+1 elementos de la siguiente forma:
El nuevo nodo recibe a los n elementos ms grandes. El nodo existente se queda con los n elementos ms pequeos. El elemento medio se insertar en el nodo padre siguiendo la misma lgica de insercin. En caso de no haber nodo padre, se crear un nuevo nodo que pasar a ser la nueva raz.

RBOL B

ALGORITMO E IMPLEMENTACIN
INSERTAR.-

10 25 50

Vamos a insertar el nmero 15

RBOL B

ALGORITMO E IMPLEMENTACIN
INSERTAR.-

10 15 25 50

RBOL B

ALGORITMO E IMPLEMENTACIN
INSERTAR.-

10 15 25 50

Vamos a insertar el nmero 70

RBOL B

ALGORITMO E IMPLEMENTACIN
INSERTAR.-

10 15 25 50 70

RBOL B

ALGORITMO E IMPLEMENTACIN
INSERTAR.-

10 15 25 50 70

Vamos a insertar el nmero 20

RBOL B

ALGORITMO E IMPLEMENTACIN
INSERTAR.La RAZ est llena, por lo tanto la dividimos y creamos una nueva raz.

10 15 25 50 70

Vamos a insertar el nmero 20

RBOL B

ALGORITMO E IMPLEMENTACIN
INSERTAR.La RAZ est llena, por lo tanto la dividimos y creamos una nueva raz.

20

10 15

25 50 70

RBOL B

ALGORITMO E IMPLEMENTACIN
INSERTAR.-

20

10 15

25 50 70

Vamos a insertar el nmero 6

RBOL B

ALGORITMO E IMPLEMENTACIN
INSERTAR.-

20

10 15

25 50 70

RBOL B

ALGORITMO E IMPLEMENTACIN
INSERTAR.-

20

10 15

25 50 70

Vamos a insertar el nmero 8

RBOL B

ALGORITMO E IMPLEMENTACIN
INSERTAR.El 1er hijo est lleno (llaves = 5), pero hay espacio en su nodo hermano. Por lo tanto reorganizamos las llaves.

20

10 15

25 50 70

Vamos a insertar el nmero 8

RBOL B

ALGORITMO E IMPLEMENTACIN
INSERTAR.-

15

10

20 25 50 70

RBOL B

ALGORITMO E IMPLEMENTACIN
INSERTAR.-

15

10

20 25 50 70

Vamos a insertar el nmero 75

RBOL B

ALGORITMO E IMPLEMENTACIN
INSERTAR.-

15

10

20 25 50 70 75

RBOL B

ALGORITMO E IMPLEMENTACIN
INSERTAR.-

15

10

20 25 50 70 75

Vamos a insertar el nmero 9

RBOL B

ALGORITMO E IMPLEMENTACIN
INSERTAR.Ambos hijos estn llenos, por lo tanto se crea un nuevo nodo hijo vaco.

15

10

20 25 50 70 75

Vamos a insertar el nmero 9

RBOL B

ALGORITMO E IMPLEMENTACIN
INSERTAR.Ambos hijos estn llenos, por lo tanto se crea un nuevo nodo hijo vaco.

15

10

20 25 50 70 75

Vamos a insertar el nmero 9

RBOL B

ALGORITMO E IMPLEMENTACIN
INSERTAR.Se fusionan los 2 nodos y se dividen para 3 segn la regla. 12/3 = 4

15

10

20 25 50 70 75

Vamos a insertar el nmero 9

RBOL B

ALGORITMO E IMPLEMENTACIN
INSERTAR.Se fusionan los 2 nodos y se dividen para 3 segn la regla. 12/3 = 4

25

10 15 20

50 70 75

RBOL B

ALGORITMO E IMPLEMENTACIN
INSERTAR.-

25

10 15 20

50 70 75

Proceso de Eliminacin
Buscar el elemento a borrar. Si el elemento a borrar est en una nodo hoja, se borra y termina el proceso. Si el elemento a borrar no se encuentra en una hoja, al igual que en un ABB, se buscar al sustituto ms apropiado. El sustituto ser:
El ltimo elemento de la hoja ms derecha del subrbol izquierdo del nodo actual (el mayor de los menores). El primer elemento de la hoja ms izquierda del subrbol derecho del nodo actual (el menor de los mayores).

RBOL B

ALGORITMO E IMPLEMENTACIN
ELIMINAR.rbol llenado.

12 25

10

15 18 20

50 70 75

RBOL B

ALGORITMO E IMPLEMENTACIN
ELIMINAR.Vamos a eliminar el nmero 12

12 25

10

15 18 20

50 70 75

RBOL B

ALGORITMO E IMPLEMENTACIN
ELIMINAR.Vamos a eliminar el nmero 12

Al eliminar la llave, el rbol no cumple con la equidad de la regla /3.

12 25

10

15 18 20

50 70 75

RBOL B

ALGORITMO E IMPLEMENTACIN
ELIMINAR.Por lo tanto se reorganizan las llaves, lo que en este caso implica eliminar un Nodo. 18

10 15

20 25 50 70 75

RBOL B

ALGORITMO E IMPLEMENTACIN
ELIMINAR.-

18

10 15

20 25 50 70 75

Vamos a eliminar los nmeros 75, 18 y 8.

RBOL B

ALGORITMO E IMPLEMENTACIN
ELIMINAR.-

25

10 15 20

50 70

RBOL B

ALGORITMO E IMPLEMENTACIN
ELIMINAR.-

25

10 15 20

50 70

Vamos a eliminar el nmero 20

RBOL B

ALGORITMO E IMPLEMENTACIN
ELIMINAR.Como las llaves suman = 7, que es el nmero mximo de llaves de la Raz, podemos eliminar los Nodos hijos. 25

10 15 20

50 70

Vamos a eliminar el nmero 20

RBOL B

ALGORITMO E IMPLEMENTACIN
ELIMINAR.-

10 15 25 50 70

También podría gustarte