Está en la página 1de 6

rboles B+

Los rboles B+ son un tipo de estructuras de datos utilizados para la creacin


de ndices sobre atributos de bases de datos entre otras cosas.
Los ndices en forma de archivos secuenciales indexados tienen un problema:
el rendimiento (tanto para buscar en el ndice como para buscar registros) se
degrada a medida que crece el archivo.

La estructura en rbol B+, donde la B indica "balanceado" es la ms usada de


las estructuras de ndices para bases de datos por mantener una buena
eficiencia a pesar de la insercin y borrado de datos.
Conservan la propiedad de acceso aleatorio rpido y permiten un recorrido
secuencial rpido.

CARACTERSTICAS DE UN RBOL B+:


Los nodos internos contienen los punteros y las hojas tienen informacin.
rbol balanceado.
Todos los nodos estn ordenados.
Bsqueda rpida.
No hay desbordes: un rbol B+ permite que todos los nodos internos y las
hojas estn parcialmente llenos (tendr un porcentaje definido, este
porcentaje se llama factor).
Los rboles B+ ocupan algo ms de espacio que los rboles B, pues existe
duplicidad en algunas claves.
Todos los nodos excepto la raz deben estar al menos llenos a la mitad.
Tiene un lmite mximo y mnimo en el nmero de claves por nodo.

OPERACIONES BSICAS
Los rboles B+ se han convertido en la tcnica ms utilizada para la
organizacin de archivos indizados.

Bsqueda: El proceso es simple, sin embargo puede suceder que al buscar


una determinada clave la misma se encuentre en un nodo raz o interior. En
este caso debe continuarse la bsqueda con el nodo apuntado por la rama
derecha de dicha clave.

Buscando 65:
1. Busca el nodo interno que apunta a la hoja con 65.
2. Encuentra la rama que va desde 50 a 75.
3. Apunta a la tercera hoja.
4. Buscar de forma secuencial hasta encontrar 65.

Insercin: La dificultad se presenta cuando desea insertarse una clave en un


nodo que se encuentra lleno.
Insertar 60:
1. El rbol ya est completo y la hoja donde debera estar est llena. No
podemos insertarlo ah.
2. Separa la hoja por la mitad para agruparlo como 50, 55 y 60, 65, 70.

3. E
n

el nodo interior se debera agregar 60 para tener un puntero apuntando


a la nueva hoja.

Eliminacin
Las claves a eliminar siempre se encuentran en las hojas. En general deben
distinguirse los siguientes casos:

Eliminar 60:

1. Eliminar 60 de la cuarta hoja, as como en el nodo interno.

2. El rbol ya no satisface las reglas de un rbol B+, se reacomodan los


nodos

Eliminar 15:

1. Busca en la primera hoja y se elimina 15 del nodo. No hay necesidad de


reacomodar los nodos

EJEMPLO:

Consideremos la tabla llamada Student que se muestra debajo.


Podemos observar que el rbol divide la informacin en dos y se separa en
nodo izquierdo y nodo derecho:
Nodo izquierdo tendr todos los valores menores iguales que el nodo raz
Nodo derecho tendr los valores mayores que el nodo raz.
Los nodos internos (de nivel 2) tendrn solo punteros que apuntan a los
nodos hojas. Los valores mostrados en los nodos internos solo son punteros
al siguiente nivel.
Los nodos hojas son los que tendrn la informacin en forma ordenada esos
nodos se enlazan unos con otros formando una lista ligada.

Si tenemos que buscar por cualquier informacin, todo lo encontraremos en los


nodos hoja. Por esta razn buscar por la informacin tomar el mismo tiempo
todas las veces debido a la misma distancia de raz a hoja. Tambin podemos
deducir que es como una bsqueda secuencia que no toma mucho tiempo.

http://www.aprenderaprogramar.com/foros/index.php?topic=1436.0
http://decsai.ugr.es/~jfv/ed1/tedi/cdrom/docs/arb_B3.htm
https://www.quora.com/What-is-a-B+-Tree

http://www.virtual.unal.edu.co/cursos/ingenieria/2001412/capitulos/ca
p8/85.html
https://mx.answers.yahoo.com/question/index?qid=20111129190121AAp8yZn
http://decsai.ugr.es/~jfv/ed1/tedi/cdrom/docs/arb_B3.htm
https://www.tutorialcup.com/dbms/b-tree.htm<

Suppose a B+ tree has an order of n (it is the number of branches above tree
structure has 5 branches altogether, hence order is 5), and then it can have n/2
to n intermediary nodes and n/2 to n-1 leaf nodes. In our example above, n= 5
i.e.; it has 5 branches from root. Then it can have intermediary nodes ranging
from 3 to 5. And it can have leaf nodes from 3 to 4.

N=4 nodo interno(4/2=2) hojas: min=2 max=3

Suppose we have a new student Bryan. Where will he fit in the file? He will fit in the 1 st leaf
node. Since this leaf node is not full, we can easily add him in the node.
But what happens if we want to insert another student Ben to this file? Some re-
arrangement to the nodes is needed to maintain the balance of the file.

Same thing happens when we perform delete too.

También podría gustarte