Você está na página 1de 11

ARBOLES B+

Por: Andres Reyes


Sebastian Sanderink
Felipe Tabares

Esteban Silva
Alejandra Cardenas
Monica Hernandez

DEFINICION:
Un rbol B+ es una variacin de un rbol B. En un rbol B+, toda la informacin se guarda en las hojas.
Los nodos internos slo contienen claves y punteros. Todas las hojas se encuentran en el mismo nivel,
que corresponde al ms bajo. Los nodos hoja se encuentran unidos entre s como una
lista enlazada para permitir bsqueda secuencial.

Un rbol B+
simple que
enlaza los
elementos 1 al 7
a valores de
datos d1-d7.
Note la lista
enlazada (en
rojo) que
permite el
recorrido de los
elementos en
orden.

insercin en rboles B+ es similar al proceso de


insercin en rboles B. Cuando una clave esta
llena ( m = 2d ). En este caso, la pagina
afectada se divide en 2, distribuyndose las m +
1 claves dela siguiente forma:" las d primeras
claves en la pagina de la izquierda y las d +
1restantes claves en la pagina derecha ". Una
copia de la clave del medio sube a la pagina
antecesora

cuando se inserta una


nueva clave en una pgina
llena, sta se divide tambin
en otras dos, pero ahora la
primera contendr con m/2
claves y la segunda 1+m/2,
y lo que subir a la pgina
antecesora ser una copia
de la clave central.

Puede suceder que la pagina


antecesora se desborde
nuevamente, entonces tendr
que repetirse el proceso anterior.
Es importante notar que el
desbordamiento en una pagina
que no es hoja no produce
duplicidad de claves. El proceso
de propagacin puede llegar
hasta la raz, en cuyo caso la
altura del rbol puede
incrementarse en una unidad.

Los datos a insertar sern: (2, 3 ,5 , 7, 11, 17, 19, 23, 29,31)
Insertamos el 17 y dividimos el nodo en dos,
haciendo que suba el 11:

Introducimos los tres valores que nos permite el nodo:


Al introducir el valor 7, el nodo debe dividirse en dos
subnodos y subiramos el 5 arriba como ndice de nuestro
rbol:

El siguiente paso es insertar el 11, que se aadir sin


problema alguno a la derecha del 7:

Insertamos el 19:

Insertamos el 23 y dividimos de nuevo el nodo, haciendo


subir al 19 a la raz:

Borrar una clave es un rbol b+ es relativamente simple, ya que las claves a eliminar
se encuentran en las paginas hojas. En general deben distinguirse los siguientes casos:
CASO 1:Si al eliminar una clave, m queda mayor o igual a d entonces termina la
operacin de borrado. Las claves de las paginas raz o internas no se modifican por
mas que sean una copia de la clave eliminada en las hojas.

CASO 2: Si al eliminar una clave, m queda menor a


d entonces debe realizarse una redistribucin de
claves, tanto en el ndice como en las paginas
hojas.

Si al eliminar un valor, la cantidad de valores restantes en


el nodo es menor que la mitad de su nodo padre,
entonces debe realizarse una redistribucin de valores,
tanto en el ndice como en los nodos hijos.

Tomando como ejemplo de partida el rbol anterior,


vamos a borrar el valor 31:

Borramos el valor 29:

Optimal method for 1-d range queries:


Tree height: logd(N/d)
Space: O(N/d)
Updates: O(logd(N/d))
Query:O(logd(N/d) + a/d)
d = B/2

https://www.cs.usfca.edu/~galles/visualization/BPlusTree.html
http://csilm.usu.edu/lms/nav/activity.jsp?sid=__shared&cid=usu@mills&lid=53
https://www.youtube.com/watch?v=7KTBnCoyccc
https://www.youtube.com/watch?v=GsY3-K4-J-8
https://www.youtube.com/watch?v=ShuTfHozna4

http://es.wikipedia.org/wiki/%C3%81rbol_B%2B
http://es.slideshare.net/cesarpa/arbol-b
http://asirmania.es/arboles-b-ejemplos/
http://www.cburch.com/cs/340/reading/btree/index.html

Você também pode gostar