Professional Documents
Culture Documents
Definicin de rbol B
Un RBOL B de orden n es un rbol de bsqueda que satisface : Cada pgina contiene como mximo 2n claves Cada pgina contiene como mnimo n claves, excepto la raz que puede tener slo una Cada pgina o es una pgina hoja o tiene m+1 descendientes, siendo m el nmero de claves en sta. Todas las pginas hoja estn al mismo nivel
a b c d
<a >a <b >b <c >c <d >d
22 25 29 29 22 25
47 47 52 52
CARACTERSTICAS DE ARBOL B
Un rbol B de orden n con N elementos requiere en el peor caso logn(N) acceso de pgina Las pginas estn como mnimo llenas por la mitad Con lo que el factor de uso de memoria ser superior al 50%.
PRCESO: BUSCAR
La operacin de bsqueda es anloga al proceso de bsqueda de un rbol ABB
Salvo que los nodos denominados pginas ahora son
En general, las pginas de un rbol B se representan con m claves y m+1 descendiente (punteros)
INSERTAR
Buscar el lugar donde insertar la clave, siguiendo el mismo criterio de ABB Si la pgina tiene m claves, con m<2n Insertar de acuerdo al criterio de ABB En caso contrario Re-balancear el rbol.
Rebalance
Dividir la pgina en dos pginas Si la clave>=Cm/2, entonces subir un nivel el manor de los mayores de la subpgina y luego hacer: Cm/2 izquierdo apunta subpgina izquierda Cm/2 derecho apunta subpgina derecha. Si la clave<Cm/2, entonces simtricas
REBALANCE
Observacin: La clave C(m/2) puede subir varios niveles Siguiendo la ruta nodo HojaRaiz
6 4 5
Subir 6
4 5 8
11
11
6 4 5
Insertar: 21
11
Subir 11
8 9
11 12
12 21
Insertar: 9, 12
ELIMINAR
A) Si la clave se encuentra en una pgina hoja, entonces la eliminacin es directa B) En caso contrario:
Intercambiar el elemento con un elemento de una pgina hoja.
B.1) Subrbol Izquierda o B.2) Subrbol Derecha
PROCESO ELIMINAR
ELIMINAR
Si tras el Intercambio de eliminacin se produce que una pgina tenga Menos de nelementos. Entonces, se produce una subocupacin.
Por lo tanto, se debe realizar el siguiente proceso:
SUBOCUPACIN
La nueva pgina ser: La pgina actual La pgina adyacente El elemento entre ellas del Nivel Superior. Este proceso se realiza en direccin al Nodo Raz.
45 45
Ejemplo: Delete 24
16 16 26 26 79 79
172 172
5 5
9 9
15 15
18 18 22 22
24 24
29 29 32 32
48 48
57 57
82 82
126 126
15 15 26 26 5 5 9 9 45 45 26 26
SubOcupacin
Unir Pginas
26 26 29 29 32 32
18 18
SubOcupacin
29 29
32 32
5 5
9 9
15 15 18 18
Unir Pginas
79 79
1 172 72
26 26
45 79 45 79 29 29 32 32
9 9
15 18 15 18
Ejercicios
Considerar un rbol B de orden 2.
Insertar: 30,60,45,8,22,35,4,28,52,33,13,39,41,43,2 4,25,15 Eliminar:
30
SOLUCIN INSERTAR
Insert: 30,60,45,8,22,35,4,28,52,33,13,39,41,43,24, 25,15
SOLUCIN FINAL
4 4 8 8 20 20 22 22
30
13 13 24 24 25 25 28 28 33 33 35 35 39 39 45 45 41 41 43 43 52 52 60 60
41 41
43 43
52 52
60 60
Solucin:
13 13
24 33 24 33
45
4 4
8 8
20 20
22 22
25 25 28 28
35 35 39 41 39 41
43 52 52 60 60
RBOL B
URL: http://slady.net/java/bt/