Anda di halaman 1dari 10

rboles Multicamino

1. Definiciones.

A. M. de orden n: Cada nodo contiene un mximo de n subrboles.


Subrboles s
0
, s
1
, ...., s
n - 1
.
Claves c
0
, c
1
, ...., c
n 2
en orden ascendente.
Las claves de s
0
son menores o iguales que c
0
.
Los campos de s
i
son menores o iguales que c
i
y mayores que c
i - 1
, si 1 i
n-2.
Las claves de s
n-1
son mayores o iguales que c
n - 2
.
s
j
es subrbol izquierdo de c
j
y derecho c
j 1
.

rbol multicamino de arriba abajo: todo nodo no completo es una hoja.



rboles Multicamino

2. El TAD rbol multicamino.


Implementacin:
Tipo NODO.
h[n] vector de punteros a NODO.
c[n-1] vector de claves.
Tipo rbol_Multicamino.
raz de tipo puntero a NODO.
n de tipo entero. Orden del rbol.
Tiene el inconveniente de desperdiciar memoria en nodos no llenos.
Se usan en dispositivos de almacenamiento externo, con nodos de gran magnitud
(orden 200 o superior). A mayor orden mayor eficiencia en la lectura en el dispositivo
externo.
Bsqueda y recorrido:
Son similares a los rboles binarios.

rboles Multicamino

2. El TAD rbol multicamino(II).


Insercin (I):
Primera variante: Similar a la de los
rboles binarios y origina rboles de
arriba a abajo. Se obtienen rboles
desequilibrados y menos eficientes.
Las claves siempre se insertan en una
hoja, por eso los nodos no hoja estn
completos.
Insercin de claves 5, 13, 20, 16, 27, 12,
23 en un rbol de arriba a abajo de orden
3.

5 13
16 20
23 27
12

rboles Multicamino

2. El TAD rbol multicamino(III).


Insercin(II):
Segunda variante: Da lugar a rboles B.
Todo nodo contiene al menos E(n/2)
claves excepto la raz. Se obtienen
rboles equilibrados y ms eficientes.
Las claves siempre se insertan en una
hoja y cuando un nodo est saturado, la
hoja se divide en dos, y la clave central
asciende al nodo padre, si existe, y si no
existe la clave central conformar la
nueva raz.
Insercin de claves 5, 13, 20, 16, 27, 12,
23, 25, 29, 32 en un rbol B de orden 5.

5 13 16 20
16
20 27 5 13
16 25
27 29 32 5 12 13 20 23

rboles Multicamino

2. El TAD rbol multicamino(IV).


Insercin (III):
Tercera variante: Da lugar a rboles B+.
Todo nodo contiene al menos E(n/2)
claves excepto la raz. Se obtienen
rboles equilibrados y ms eficientes.
Las claves siempre se insertan en una
hoja y cuando un nodo est saturado, la
hoja se divide en dos, y la clave central
asciende al nodo padre y se mantiene en
el nodo izquierdo, con lo cual se duplica.
Ocupa ms espacio que el B+, pero
facilita recorridos secuenciales en orden
usando los punteros que enlazan las
hojas.
Insercin de claves 5, 13, 20, 16, 27, 12,
23, 25, 29, 32 en un rbol B+ de orden 5.

5 13 16 20
16
20 27 5 13 16
16 25
27 29 32 5 12 13 16 20 23 25

rboles Multicamino

2. El TAD rbol multicamino(V).


Borrado (I):
Una opcin sera aadir una marca a la clave en cuestin, indicando que ha sido borrada,
aunque se mantenga. En este mtodo se desperdicia mucho espacio y provoca
bsquedas ms largas ya que se tienen en cuenta claves que ya han sido borradas.
Otra posibilidad sera similar a la de los rboles binarios:

Si la clave tiene solo subrbol izquierdo o derecho, se elimina sta y se compacta el


nodo.

Si la clave tiene ambos subrboles, se busca la clave que le sucede (la menor de su
subrbol derecho) y se reemplaza la clave a borrar por sta, compactando el nodo
que contiene al sucesor como si se borrase ste.
El inconveniente de este mtodo es que el rbol resultante puede que no mantenga sus
propiedades originales y deje de ser de arriba a abajo o B.


rboles Multicamino

2. El TAD rbol multicamino(VI).


Borrado (II). rboles de arriba a abajo.
Al eliminar en una semihoja, sta no
queda completa. Se elige
aleatoriamente un subrbol no vaco y
se mueve la mayor del izquierdo o la
menor del derecho, a la semihoja donde
se elimin la clave.
Ejemplo: Borrado de la clave 13.

Caso 1. Si seleccionamos la mayor clave


del izquierdo(12), se sustituye el 13 por
el 12.

Caso 2. Si seleccionamos la menor


clave del derecho (14), se sustituye 13
por 14. Si este nodo no fuese hoja y
quedase incompleto, se vuelve a hacer
lo mismo en ese nodo, como si se
borrase el 14.

5 13
16 20
23 27
8 12
5 14
16 20
23 27
8 12
14 15
15
5 12
16 20
23 27
8
14 15
Caso 1
Caso 2

rboles Multicamino

2. El TAD rbol multicamino(VII).


Borrado (III). rboles B.
Al eliminar en una semihoja, sta no
queda completa. Su sucesor, que estar
en una hoja, sustituye a la clave borrada, y
el sucesor se borra del nodo hoja.
Si al hacer esto, el nodo hoja quedase con
menos de E(n/2) claves se produce un
subdesborde. En este caso, el hermano
mayor o menor de la hoja si tienen ms de
E(n/2) claves, aportaran una clave al nodo
padre que separa a los dos hermanos.
Ejemplo: Borrado de la clave 56 en un
rbol B de orden 5.

30 60 85
63 67 71 45 56 8 23
30 63 85
67 71 45 60 8 23

rboles Multicamino

2. El TAD rbol multicamino(VIII).


Borrado (IV). rboles B.
Si los dos hermanos tienen exactamante
E(n/2) claves, el nodo con subdesborde y
uno de sus hermanos se unen dentro de
un nodo (consolidacin). Ver figura.
Ejemplo: Borrado de la clave 60 en un
rbol B de orden 5.
En el caso de que el padre no pueda
aportar campos, los podra tomar de su
padre y hermano.

30 63 85
67 71 45 60 8 23
30 63 85
67 71 45 60 8 23
30 63 85
8 23
30 85
45 63 67 71 8 23

rboles Multicamino

3. rboles de bsqueda digitales.


Se puede formar un rbol general basado
en los caracteres o smbolos que
componen cada clave.
Si las claves fuesen nmeros enteros,
cada dgito de la clave conformara un
nodo, y cada nodo tendra diez posibles
hijos. Esta implementacin se denomina
TRIE y se usa en diccionarios.
Siguiendo esta idea, se podran almacenar
las claves en un bosque, usando m
punteros para cada nodo, siendo m el
nmero de smbolos posibles. m = 10 en
nmeros enteros, m = 28 con letras.
Ejemplo con claves: 145, 1487, 156, 206,
207, 212.

1
5 4
6
*
4
5 8
* 7
*
1
5 4
6
*
4
5 8
* 7
*
1
5 4
6
*
4
5 8
* 7
2
1 4
2
*
0
6 7
* *

Anda mungkin juga menyukai