Вы находитесь на странице: 1из 19

Unidad IV

Estructuras no lineales de Datos:


rboles B
Prof. Domingo Hernndez
Contenido
Introduccin.

Definicin de rboles B.

Caractersticas de los rboles B.

Proceso de Insercin.

Proceso de Eliminacin.



Introduccin
Para almacenar muchos datos para una aplicacin se
requiere de una estructura de datos eficiente.
Cuando se requieren almacenar dichos datos en
memoria secundaria hay que recordar que 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.
Para almacenamiento secundario se recomiendan los
rboles B o los rboles B+
rboles B
Bayer y McCreight propusieron en 1970 esta
estructura.
Manejan rboles de bsqueda multicamino, cuyos
nodos guardan ms de un elemento.
Son rboles 100% balanceados en su estructura, lo
cual repercute en bsquedas eficientes y en
accesos mnimos a disco.
10 20
5 8
12 18
25 65 92 99
Caractersticas del rbol 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.
Ejemplo....
Para un rbol B de orden 3:
Cuntos elementos mximo puede guardar cada nodo del
rbol?
6
Cuntos elementos mnimo puede guardar cada nodo del
rbol?
1 si el la raz, 3 cualquier otro nodo.
Cuntos hijos mximo puede tener un nodo?
7
Cuntos hijos mnimo puede tener un nodo?
0 si es hoja, 2 si es raz, 4 cualquier otro nodo.
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
Ejemplo...
De qu orden es este rbol B?
10 20
5 8
12 18
25 65 92 99
Este rbol es de
orden 2 ya que
puede almacenar
hasta 4 elementos en
cada nodo.
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.
Ejemplo....
10 20
5 8
12 18
25 65 92 99
Agregar el 4
10 20
4 5 8
12 18
25 65 92 99
Si hay espacio para el elemento,
ste se agrega en el nodo.
Los elementos estn acomodados
de menor a mayor.
Ejemplo...
10 20
5 8
12 18
25 65 92 99
Agregar el 56
10 20 65
4 5 8
12 18
25 56
92 99
Cuando el nuevo
elemento no cabe en el
nodo, se agrega otro
nodo y se reparten los
elementos.
Ejemplo...
10 20 65
4 5 8
12 18
25 56
70 75 80 85
Agregar el 78
10 20 70
4 5 8
12 18
25 56 65
75 78 80 85
El rbol siempre se
resiste a crecer, ya que
trata de distribuir los
elementos en los
nodos ya existentes.
Ejemplo
10 20 65 90
4 5 8
12 18
25 56 57 60
70 75 80 85
Agregar el 66
10 20 65 90
4 5 8
12 18
25 56 57 60
66 70
80 85
75
10 20


4 5 8
12 18
25 56 57 60 66 70
80 85
65
75 90
1
2
El rbol crece de abajo
hacia arriba. Cuando el
rbol aumenta de altura
slo se agrega una
nueva raz.
94 95
94 95
94 95
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).
Ejemplo...
10 20 65
4 5 8
12 18
25 56
70 75 80 85
Eliminar el 8
10 20 65
4 5
12 18
25 56
70 75 80 85
Cuando el nodo tiene
ms elementos que el
mnimo, se da de baja
al elemento y termina
el proceso.
Ejemplo...
10 20 65
4 5 8
12 18
25 56
70 75 80 85
10 20 70
4 5 8
12 18
25 65
75 80 85
Eliminar el 56
Cuando el nodo
tiene el mnimo se
toma un elemento
de los hermanos.
Ejemplo...
10 20 65
4 5 8
12 18
25 56
70 75
Eliminar el 56
Cuando el nodo tiene el
mnimo y los hermanos
tambin, se une el nodo
con uno de sus hermanos
y le libera el nodo
sobrante.
10 20
4 5 8
12 18
25 65 70 75
Ejemplo...
10 20


4 5 8
12 18
25 56 57 60
66 70
80 85
65
75 90
Eliminar el 65
Utilizar el menor de los mayores
10 20


4 5 8
12 18
25 56 57 60
70 75 80 85
66
90
10 20 66 90
4 5 8
12 18
25 56 57 60
70 75 80 85
1
2
93 95
93 95
93 95
Ejemplo...
10 20 60


4 5 8
12 18
25 56 57 58
66 70
80 85
65
75 90
Eliminar el 65
Utilizar el menor de los mayores
10 20 60


4 5 8
12 18
25 56 57 58
70 75 80 85
66
90
1
2
10 20


4 5 8
12 18
25 56 57 58
70 75 80 85
60
66 90
93 95
61 62
61 62
93 95
61 62
93 95

Вам также может понравиться