Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ESTRUCTURAS DEPortada
DATOS Y ALGORITMOS I
Universidad de Almería 2º Grado en Ingeniería Informática
Capítulo 07: Introducción a las Estructuras de Datos en Disco
Escuela Superior de Ingeniería
Departamento de Informática
OBJETIVOS
ABB: grado(nodo) = 2
<x >x
d g o s w
a b c e f h i j k m n p q r t u v x y z
n+1
⇒ altura (h) verifica: h ≤ log ⎡ m ⎤ +1
⎢⎢ 2 ⎥⎥ 2
I47 c 47 I49 c 47 49
I30 c 30 47 49 I60 c 30 47 49 60
nodo sobrecargado
Raíz
Raíz
Nodo Nuevo
raíz sobrecargada
62 Capítulo 07: Introducción a las Estructuras de Datos en Disco
Árboles multicamino en disco. B-tree
Inserción sobre un B-tree con Partición-1/2
Si Nodo contiene m valores de clave está sobrecargado
Nodo [m, Enlace0, Clave1, Enlace1, ..., Clavem, Enlacem]
Clavei < Clavei+1 1 ≤ i ≤ m
Se va a dividir en dos nodos: Nodo y Nuevo
c 10 30 f 49 60 Partición-1/2
I35,55,50,15 a 47
c 10 15 30 35 f 49 50 55 60
I58 a 47
nodo sobrecargado
c 10 15 30 35 f 49 50 55 58 60
a 47 55
Partición-1/2
c 10 15 30 35 f 49 50 g 58 60
I37 nodo
sobrecargado a 47 55
c 10 15 30 35 37 f 49 50 g 58 60
a 30 47 55
Partición-1/2
c 10 15 d 35 37 f 49 50 g 58 60
c 10 15 d 35 36 37 40 f 49 50 g 58 60 65 66 68
a 30 47 55 65
Partición-1/2
c
10 15 d 35 36 37 40 f 49 50 g 58 60 h 66 68
c 10 15 d 35 36 37 40 43 f 49 50 g 58 60 h 66 68
c d e f g h
10 15 35 36 40 43 49 50 58 60 66 68
Partición-1/2
68 Capítulo 07: Introducción a las Estructuras de Datos en Disco
Árboles multicamino en disco. B-tree
Inserción. Ejemplo de inserción sobre un B-tree (m = 5)
t 47
Partición-1/2
a 30 37 b 55 65
c d e f g h
10 15 35 36 40 43 49 50 58 60 66 68
⎛ ⎡ m⎤ ⎞
1 + ⎜ ⎢ ⎥ − 1⎟ ∗ ( p − 1)
⎝⎢2⎥ ⎠
La raíz tiene al menos un valor de clave.
Los restantes nodos tienen al menos ⎡m/2⎤ - 1.
a 30 37 b 55 65 70
c f
10 15 49 50
d g
35 36 58 60
e h
40 43 66 68 i
72 75 80 85
a 30 37 b 55 65 70
c f
10 15 49 50
d g
35 36 58 60
e h
40 43 66 68
i
72 75 85
superior al mínimo nº de valores de clave
79 Capítulo 07: Introducción a las Estructuras de Datos en Disco
Árboles multicamino en disco. B-tree
Ejemplo de extracción sin consecuencias (m = 5)
t 47
E66
a 30 37 b 55 65 70
c f
10 15 49 50
d g
35 36 58 60
e h
40 43 66 68
i
72 75 85
a 30 37 b 55 65 70
c f
10 15 49 50
d g
35 36 58 60
e h
40 43 nodo bajo 68
i
mínimo 72 75 85
¿Tiene más de ⎡m/2⎤ - 1 valores de clave?
81 Capítulo 07: Introducción a las Estructuras de Datos en Disco
Árboles multicamino en disco. B-tree
Ejemplo de extracción sin consecuencias (m = 5)
t 47
a 30 37 b 55 65 72
c f
10 15 49 50
d g
35 36 58 60
e h
40 43 68 70
i
75 85
Rotación de derecha a izquierda
82 Capítulo 07: Introducción a las Estructuras de Datos en Disco
Árboles multicamino en disco. B-tree
Extracción sobre un B-tree con Recombinación-1/2
Reg está bajo mínimo (nº claves < ⎡m/2⎤ - 1), no tiene
hermano inmediato Izq, y Der con un nº claves = ⎡m/2⎤ - 1.
Se sitúan en un solo nodo, Reg, los valores de clave y los
enlaces de Reg y Der y la clave del Padre que los separaba.
Número de valores de clave de Reg después de la
recombinación-2/1 es:
(⎡m/2⎤ - 2) + ( ⎡m/2⎤ - 1) + 1 = 2*⎡m/2⎤ - 2 ≤ m - 1
nodo bajo Padre Padre
mínimo
Reg Der Reg
a 30 37 b 55 65 72
c f
10 15 49 50
d g
35 36 58 60
e h
40 43 68 70
i
75 85
a 30 37 b 55 65 72
c f
10 15 50
d g
35 36 58 60
e h
40 43 68 70
nodo bajo i
mínimo 75 85
nº de claves=⎡m/2⎤ - 1
86 Capítulo 07: Introducción a las Estructuras de Datos en Disco
Árboles multicamino en disco. B-tree
Ejemplo de extracción con Recombinación-1/2 (m=5)
t 47
a 30 37 b 65 72
c f
10 15 50 55 58 60
d h
35 36 68 70
e i
40 43 75 85
Recombinación-2/1
Padre
Izq Der
a 30 37 b 55 65 72
c f
10 15 49 50
d g
35 36 58 60
e h
40 43 68 70
i
75 85
a 30 37 b 55 65 72
c f
10 15 49 50
d g
35 36 58
e h
40 43 68 70
nodo bajo i
75 85
mínimo
nº de claves=⎡m/2⎤ - 1
91 Capítulo 07: Introducción a las Estructuras de Datos en Disco
Árboles multicamino en disco. B-tree
Ejemplo de extracción con Recombinación-3/2 (m=5)
t 47
a 30 37 b 58 72
c f
10 15 49 50 55
d h
35 36 65 68 70
e i
40 43 75 85
Recombinación-3/2
a 30 37 b 55 65 72
c f
10 15 49 50
d g
35 36 58 60
e h
40 43 68 70
i
75 85
a 30 37 b 55 65 72
c f
10 15 49 50
d g
35 36 58 60
e h
40 43 68 70
Sucesor i
75 85
a 30 37 b 55 65 72
c f
10 15 50
d g
35 36 58 60
e nodo h
40 43 bajo 68 70
i
mínimo 75 85
nº de claves=⎡m/2⎤ -1
a 30 37 b 65 72
c f
10 15 50 55 58 60
d h
35 36 68 70
e i
40 43 75 85
Recombinación-3/2
B-tree
d g n q t
a b c d e f g h i j k l m n o p q r s t u v x
01 02 04 05 06 08 83 84 85 87
10 11 13 14 16 19 73 74 77 79
21 23 25 28 59 60 63 64 66 68
32 34 37 39 51 52 54 55 56 57
43 45 46 47 48 49