programacion 3. arboles b+

12
República Bolivariana De Venezuela Ministerio del Poder Popular para la Defensa Universidad Nacional Experimental Politécnica de la Fuerza Armada Núcleo Mérida. Arboles B+ Integrantes: Emmanuel E. Pineda G. CI: 22.987.251 Jesús M. Peña Mesa. CI: 23.722.335 Ana K. Carrillo. C. CI:23.254.907

Upload: emmanuel-pineda

Post on 29-Jan-2018

228 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Programacion 3. Arboles B+

República Bolivariana De Venezuela

Ministerio del Poder Popular para la Defensa

Universidad Nacional Experimental Politécnica de la Fuerza Armada

Núcleo Mérida.

Arboles B+

Integrantes:

Emmanuel E. Pineda G. CI: 22.987.251

Jesús M. Peña Mesa. CI: 23.722.335

Ana K. Carrillo. C. CI:23.254.907

Page 2: Programacion 3. Arboles B+

ÁRBOL B Y ÁRBOL B+

Antes de explicar lo que es un Árbol B+ se debe tener en cuenta lo que significa unÁrbol B y no es mas que una estructura de datos de árbol que se encuentrancomúnmente en las implementaciones de bases de datos y sistemas de archivos.Son árboles binarios de búsqueda en los cuales cada nodo puede poseer más de doshijos.

Dicho esto podemos entrar en materia sobre lo que son Arboles B+.

Los arboles B+ son una variante de los arboles B, se diferencian en que los arboles B+toda la información se encuentra almacenada en las hojas . En la raíz y en las paginasinternas se encuentran almacenado índices o claves para llegar a un dato.

Page 3: Programacion 3. Arboles B+

CARACTERÍSTICAS DE LOS ÁRBOLES B+

-La raíz almacena como mínimo un dato y como máximo m-1 datos.-La pagina raíz tiene como mínimo dos descendientes.-Las paginas intermedias tienen como mínimo (m-1)/2(Parte entera ) datos.-Las paginas intermedias tienen como máximo m-1 datos.-Todas las paginas hojas tienen la misma altura-La información se encuentra ordenada.-Toda la información se encuentra almacenada en las paginas hoja, por lo que en las paginas internas se puede duplicar la clavesLa operación de búsqueda en árboles-B+ es similar a la operación de búsqueda en árboles-

B. El proceso es simple, sin embargo puede suceder que al buscar una determinada clave lamisma se encuentra en una pagina raíz o interior, en dicho caso no debe detenerse elproceso, sino que debe continuarse la búsqueda con la pagina apuntada por la rama derechade dicha clave.

Page 4: Programacion 3. Arboles B+

INSERCIÓN LOS ÁRBOLES B+

El proceso de inserción en árboles-B+ es relativamente simple, similar al proceso de inserción en árboles-B. La dificultad se presenta cuando desea insertarse una clave en una pagina que se encuentra llena ( m = 2d ). En este caso, la pagina afectada se divide en 2, distribuyéndose las m + 1 claves de la siguiente forma: " las d primeras claves en la pagina de la izquierda y las d + 1 restantes claves en la pagina derecha ". Una copia de la clave del medio sube a la pagina antecesora. En la siguiente figura hay dos diagramas que ilustran como funciona este caso.

Page 5: Programacion 3. Arboles B+

Los pasos a seguir para una inserción son los siguientes:1.Se ubica en la pagina raíz.2.Se evalúa si es una pagina hoja

2.1.Si la respuesta es afirmativa, se evalúa si no sobrepasa los limites de datos.2.1.1. Si la respuesta es afirmativa, entonces se procede a insertar el nuevo valor en

lugar del correspondiente.2.1.2. Si la respuesta es negativa, se divide la pagina en dos, se sube una copia

de la mediana a la pagina padre, si la pagina padre se encuentra llena se debe de partirigual y así el mismo proceso hasta donde sea necesario, si este proceso llega hasta laraíz la altura del árbol aumenta en uno.

2.2. si no es hoja, se compara el elemento a insertar con cada uno de los valoresalmacenados para encontrar la pagina descendiente donde proseguir la búsqueda. Seregresa al paso 1.

PASOS PARA HACER UNA INSERCIÓN LOS ÁRBOLES B+

Page 6: Programacion 3. Arboles B+

EJEMPLO DE INSERCIÓN EN LOS ÁRBOLES B+

-Insertar las siguientes claves a un árbol de orden 5: 10-27-29-17-25-21-15-31-13-51-20-24-48-19-60-35-66

Page 7: Programacion 3. Arboles B+

ELIMINACIÓN DE LOS ÁRBOLES B+

La operación de eliminación en árboles-B+ es mas simple que en árboles-B. Esto ocurre porque las claves a eliminar siempre se encuentran en las paginas hojas. En general deben distinguirse los siguientes casos:1.Si al eliminar una clave, la cantidad de llaves queda mayor o igual que [m/2] entonces termina la operación. Las claves de los nodos raíz o internos no se modifican por más que sean una copia de la clave eliminada en las hojas. 2.Si al eliminar una clave, la cantidad de llaves queda menor que [m/2] entonces debe realizarse una redistribución de claves, tanto en el índice como en las paginas hojas.

Caso 1 Caso 2

Page 8: Programacion 3. Arboles B+

CÓDIGO DEL ÁRBOL B+

Page 9: Programacion 3. Arboles B+

2

2

3

3

4

1

Page 10: Programacion 3. Arboles B+

4

5

65

6 Fin

Page 11: Programacion 3. Arboles B+

BIBLIOGRAFÍA

Autor. TutorialesArboles [en línea].Consulta: [05-Nov-2015].Disponible en:https://sites.google.com/site/tutoriasarboles/arboles-b-y-bAutor: Universidad Nacional de Colombia [en línea].Consulta: [05-Nov-2015].Tema: Estructura de datos.Capitulo 8: Búsquedas.Disponible en:http://www.virtual.unal.edu.co/cursos/ingenieria/2001412/capitulos/cap8/85.html

Teoría

Código

Autor. Virux [en línea]. Publicado [19-Abr-2005].Consulta: [05-Nov-2015].Disponible en:http://www.latindevelopers.com/forum/viewtopic.php?t=342

Page 12: Programacion 3. Arboles B+

GRACIAS POR SU ATENCION