ÁRBOL B
Los árboles reciben su nombre de R. Bayer, quien en 1970 propuso un nuevo tipo de árboles, en los que todas las páginas, excepto una), contienen entre n y 2n nodos, siendo n una constante dada. Como consecuencia de esto se puede deducir que los árboles B no son árboles binarios como sí lo son los binarios de búsqueda o los AVL.
En los árboles B los nodos se agrupan dentro de páginas, por lo que se podría definir a la página como un conjunto de nodos.
Los árboles B deben cumplir las siguientes características en cuanto a estructura:
Toda página tiene como máximo 2n nodos.
Toda página distinta de la raíz tiene como mínimo n nodos. La raíz tiene como mínimo 1 nodo.
Toda página que no sea una hoja tiene m+1 páginas hijas, siendo m el número máximo de llaves.
Todas las páginas hoja están en el último nivel.
Además de estas características, los árboles B tienen que cumplir un cierto orden:
Los nodos dentro de una página mantienen un orden ascendente de izquierda a derecha.
Cada nodo es mayor que los nodos situados a su izquierda.
Cada nodo es mayor que los nodos situados a su derecha.
A continuación se muestran dos árboles, uno de ellos es un árbol B y otro no.
ESTRUCTURA DE UN ÁRBOL B:
Cada hoja tiene 4 nodos. Este es un árbol B correcto, ya que cumple todas las reglas en cuanto a su estructura y al orden.ESTRUCTURA DE UN ÁRBOL B INCORRECTO:
Nodo no raíz con menos de n nodos.En cambio, este no es un árbol B, ya que a pesar de mantener el orden, hay una página (que no es la raíz) que tiene menos de n elementos (en este caso menos de 2 elementos). Esta página es la que contiene al elemento 10.
OPERACIONES:
las operaciones básicas que se pueden realizar en los árboles B:*Búsqueda.
*Inserción.
*Retiro.
Ejemplo Inserción:
30, 60, 45, 8, 22, 35, 4, 28, 52, 33, 13, 39, 41, 43, 24, 25, 15.Inserción: 30, 60, 45, 8:
Inserción: 22:
Inserción: 35, 4, 28, 52:
Inserción: 33:
Inserción: 13:
Inserción: 39:
Inserción: 41:
Inserción: 43:
Inserción: 24, 25:
Inserción: 15:
ELIMINACIÓN:
PROCESO DE ELIMINACIÓN:
* Buscar el elemento a eliminar.
* Si el elemento a borrar esta en el nodo hoja, se borra y termina (manteniendo reglas).
* Si el elemento no se encuentra en la hoja, se buscara el sustituto así:
- El último elemento de la hoja más a la derecha del sub-árbol izquierdo del nodo actual.
(el mayor de los menores).
- El primer elemento de la hoja más a la izquierda del su-árbol derecho del nodo actual .
(el menor de los mayores).
Ejemplo:
Caso 1:
Retirar llaves 61 y 16:
no hay problema.
Caso 2:
Retirar llave 41:
En este caso se aplica la 2da regla (41=46 y 46=50)(llaves).
Para complementar estos temas:















No hay comentarios:
Publicar un comentario