Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EDD - Cap5.5 Arboles B PDF
EDD - Cap5.5 Arboles B PDF
Estructura de Datos
rboles B
rboles B* rboles B+
Primer Semestre,
2010
1
Introduccin
Introduccin
Introduccin
Introduccin
Particionar el ABB en pginas
Mantener en memoria una de las pginas
Con pginas de 100 nodos en un rbol de 106 nodos:
Nmedio accesos = (log100 106) = 3 << 20
Introduccin
Introduccin
rboles B
Arboles B Definicin
Los B-rboles son rboles cuyos nodos pueden tener un nmero
mltiple de hijos:
rbo B de orden m
10
Arboles B
11
Arboles B
12
rboles B caractersticas
13
rboles B caractersticas
14
rboles B caractersticas
15
rboles B Propiedades
Cada nodo en rbol-B de orden d contiene a lo ms 2d claves
y 2d+1 punteros:
rboles B
rbol B de orden 5:
17
rboles B Propiedades
Si k1, k2, ..., km denotan los elementos del nodo y P0, P1, .., Pm
los hijos, entonces:
P0 contiene los elementos menores que k1
Pi contiene los elementos mayores que ki y menores que ki+1
Pm contiene todos los elementos mayores que km
Todas las ramas tienen la misma longitud.
18
rboles B Propiedades
Si se recorre en profundidad: lista ordenada
Ejemplo: rbol B de orden d=2: (mn. 2 y mx. 4)
19
20
15 19 22 26 35 41 58 62
1.
2.
3.
4.
5.
75 87 94
69 73 77 81
89 93
96 98 99
Orden del rbol: 2
Altura del rbol: 3
Todas las pginas contienen: 2(d),3(d+1) o 4(2d+1) elementos;
excepto la raz (1)
Los elementos dentro del rbol se encuentran ordenados
en forma creciente (izq. a der.)
Todas las hojas estn al mismo nivel
21
23
24
25
26
rboles B: insercin
28
Ejemplo de insercin
sigue
30
Ejemplo de insercin
31
32
33
34
Continuar insertando:14, 10, 19, 28, 3, 17, 32, 15, 16, 26, 27.
35
rboles B: borrado
36
rboles B: borrado
Las operaciones a realizar son:
37
rboles B: borrado
38
Ejemplo de redistribucin
39
Ejemplo de redistribucin
La redistribucin:
rboles B: borrado
41
Ejemplo de unin
Ejemplo de fusin de pginas y la situacin final de la clave
separadora.
el rbol re-balanceado
43
44
Arboles B - Borrado
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
rboles B* (Knuth)
Propiedades de un B* de orden m:
Cada pgina tiene un mximo de m descendientes.
Todas las pginas, excepto la raz y las hojas, tiene al menos
(2m-1)/3) descendientes.
La raz tiene al menos dos descendientes, a menos que sea
hoja.
Todas las hojas se encuentran al mismo nivel.
Una pgina que no sea hoja, con K descendientes contiene
K 1 claves.
Una pgina-hoja contiene al menos (2m 1)/3 1 claves, y no
ms de m 1 claves.
68
rboles B*
Caractersticas
Mejoran la eficiencia del acceso directo y la sobrecarga de
reorganizar el rbol en la insercin y el borrado
Aseguran ocupacin de pginas 66,6% (2/3).
Cambia la divisin y fusin de pginas
Divisin por superocupacin
Pasar elementos al vecino
Cuando el vecino tambin est lleno, convertir las dos
pginas en tres.
Fusin por subocupacin
Tres pginas se convirtien en dos.
69
rboles B* (Knuth)
70
rboles B*
71
rboles B*
72
rboles B*
73
rboles B*
74
Algoritmo:
1. Bajar hacia el primer hijo hasta que se alcance una pgina
hoja
2. Recorrer secuencialmente la pgina hoja
3. Procesar la clave del padre y bajar por su hijo aplicando el
paso 1
Recorrido no es eficiente
Se suelen optimizar usando rboles B+
75
Variantes: rboles B+
76
Variantes: rboles B+
77
Variantes: rboles B+
Ejemplo: Arbol B + de orden 2
55 77
37 48
55 61 73
77 80 87 92
78
rboles B+
79
rboles B+
rboles B+
rboles B+
Propiedades:
Cada pgina tiene a lo ms m descendientes.
Cada pgina, excepto la raz y las hojas, tienen entre m/2 y m
hijos.
La raz tiene al menos 2 descendientes (o ninguno).
Todas las hojas estn al mismo nivel.
Una pgina que no sea hoja, si tiene k descendientes contiene
k 1 claves.
Los nodos terminales representan un conjunto de datos y son
linkeados juntos.
Los nodos no terminales no tienen datos, sino punteros a los
datos.
82
rboles B+
83
rboles B+
84
rboles B+
(a) Un rbol-B+ y (b) un rbol-B+ despus de borrar la clave 20. Incluso despus de
borrar, la clave 20 sirve todava como valor separador en la parte ndice.
85
rboles B+
86
rboles B+
7, 25, 27, 15, 23, 19, 14, 29, 10, 50, 18, 22, 46, 17, 70, 33, 58
87
rboles B+
7, 25, 27, 15, 23, 19, 14, 29, 10, 50, 18, 22, 46, 17, 70, 33, 58
88
rboles B+
7, 25, 27, 15, 23, 19, 14, 29, 10, 50, 18, 22, 46, 17, 70, 33, 58
89
rboles B+
7, 25, 27, 15, 23, 19, 14, 29, 10, 50, 18, 22, 46, 17, 70, 33, 58
90
rboles B+
7, 25, 27, 15, 23, 19, 14, 29, 10, 50, 18, 22, 46, 17, 70, 33, 58
91
rboles B+
7, 25, 27, 15, 23, 19, 14, 29, 10, 50, 18, 22, 46, 17, 70, 33, 58
92
rboles B+
7, 25, 27, 15, 23, 19, 14, 29, 10, 50, 18, 22, 46, 17, 70, 33, 58
93
rboles B+
7, 25, 27, 15, 23, 19, 14, 29, 10, 50, 18, 22, 46, 17, 70, 33, 58
94
Eliminar
95
Unir...
96
Adoptar
97
98
Aplicaciones
99
Bibliografa - Webgrafa
100
Bibliografa - Webgrafa
cupi2.uniandes.edu.co
Apuntes de la UNLP Facultad de Informtica.
Apuntes de Jess Alonso S. Dpt. OEI
http://lml.ls.fi.upm.es/ed2
El
Omnipresente
rbol-B.
DOUGLAS
COMER.
Departamento de Ciencia Computacional, Universidad de
Purdue, West Lafayette, Indiana 47907
101