arboles multicamino (1)

9
 Universidad Mariano Gálvez de Guatemala Estructura de Datos Inga. Susana Beltrán Eliminación de un árbol multicamino Integrantes: Diego Alberto Taracena Morales 0901-12-782 Dylan Isaac Corado Urizar 0901-12-9290 Xavier Aaron Gribble Arredondo 0901-12-4346 Bryant Steve Flores 0901-08-14198 Guatemala 7 de marzo de 2014

Upload: altosfuentes

Post on 19-Oct-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Universidad Mariano Glvez de GuatemalaEstructura de DatosInga. Susana Beltrn

Eliminacin de un rbol multicamino

Integrantes:Diego Alberto Taracena Morales 0901-12-782Dylan Isaac Corado Urizar 0901-12-9290Xavier Aaron Gribble Arredondo 0901-12-4346Bryant Steve Flores 0901-08-14198

Guatemala 7 de marzo de 2014

ContenidoIntroduccin3Arboles Multicamino4Arboles-B4Caractersticas de un rbol-B5Ejemplo.5Proceso de Eliminacin de un rbol-B5Conclusiones7Bibliografa8

Introduccin

Para almacenar muchos datos disco, es necesario una estructura de datos eficiente. 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.

Arboles Multicamino

Los diferentes tipos de rboles estudiados hasta ahora fueron desarrollados para funcionar en la memoria principal de la computadora. Sin embrago, existen muchas aplicaciones en las que el volumen de informacin es tal, que los datos no caben en la memoria principal y es necesario almacenarlos, organizados en archivos en dispositivos de almacenamiento secundario. Esta organizacin de archivos de debe ser suficientemente adecuada como para recuperar los datos en forma eficiente.Es importante recordar que el tiempo necesario para localizar un registro en la memoria principal de la computadora se mide en microsegundos, mientras que el tiempo necesario para localizarlo en una pgina (contiene varios registros) en memoria secundaria. Por ejemplo disco se mide en milisegundos. El tiempo de acceso, claro est, es miles de veces ms rpido en la memoria principal que en la memoria segundaria. Considere el cado de almacenar un rbol binario en disco. Se necesitara en promedio, para localizar algunos de los nodos, log n de acceso a disco, donde n presenta el nmero de nodos del rbol y el orden del mismo, que en este caso es igual a 2. Por ejemplo si el rbol contiene 1000000 de elementos, se necesitara aproximadamente 20 accesos a disco. Ahora bien, si el rbol est organizado en pginas, de tal manera que cada pgina contenga como mnimo 100 elementos, entonces se necesitaran como mximo 3 accesos al disco. Note que los accesos a disco disminuyen de manera considerable.Existen diferentes tcnicas para la organizacin de archivos indizados, sin embargo la organizacin en arboles-B y especficamente su variante, la organizacin en arboles-B+, es la ms utilizada.

Arboles-B

Son una generalizacin de los arboles balanceados. Estos representan bsicamente un mtodo para almacenar y recuperar informacin en medios externos. Su nombre arboles-B nunca fue explicado por los autores, aunque muchos sostienen que B proviene de Bayer (Bayer y McCreight), uno de sus inventores. Este tipo de rboles, un grupo de nodos recibe el nombre de pgina. En cada pgina se almacena la informacin de un grupo de nodos y se identifica por medio de una clave o llave.En general cada pgina de un rbol B contiene de orden d contiene 2d claves como mximo y d claves como mnimo. Con esto se garantiza que cada pgina este llena como mnimo hasta la mitad. Respecto al nmero de descendientes, cada pgina de un rbol B de orden d tiene 2d+1 hijos como mximo y d+1 hijos como mnimo. Excepto la pgina raz que puede contener como mnimo 1 datos y por consiguiente solamente 2 hijos. Las pginas en general son almacenadas en dispositivos de almacenamiento secundario, a excepcin de la pgina raz que es conveniente mantenerla en la memoria principal.Son rboles 100% balanceados en su estructura, lo cual repercute en bsquedas eficientes y en accesos mnimos a disco.

Caractersticas de un 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.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 menor, a la derecha mayor.

Ejemplo.Para un rbol B de orden 3:Cuntos elementos mximos pueden guardar cada nodo del rbol?6Cuntos elementos mnimos pueden guardar cada nodo del rbol?1 si en la raz, 3 cualquier otro nodo. Cuntos hijos mximos pueden tener un nodo?7Cuntos hijos mnimos pueden tener un nodo?0 si es hoja, 2 si es raz, 4 cualquier otro nodo.

Proceso de Eliminacin de un rbol-B

El proceso de eliminacin en arboles-B es una operacin ms complicada que la insercin. Consiste en quitar una clave del rbol sin violar la condicin de que en una pgina, excepto la raz, no puede haber menos de d claves ni ms de 2d claves, siendo el orden del rbol. En la operacin de borrado se distinguen los siguientes casos.

1. Si la clave a eliminar se encuentra en una pgina hoja entonces simplemente se suprimir1.1 Si (m>=d)Se verifica que el nmero de elementos en la pgina sea validoEntoncesTermina la operacin de borradoSi no Se debe bajar la clave lexicogrficamente adyacente de la pgina antecesora y sustituir esta clave por la que se encuentre ms a la derecha en el subrbol derecho o por la que se encuentre ms a la izquierda en el subrbol derecho Con este paso se logra que m, en esta pgina, siga siendo >=d

Si esto no es posible, por las m de las pginas involucradas, se deben fusionar las pginas que son descendientes directas de la clave que se baja Fin 1.1 Fin 1 2. Si la clave a eliminar no se encuentra en una pgina hoja entonces Se debe sustituir por la clave que se encuentra ms a la izquierda en el subrbol derecho o por la clave que se encuentra ms a la derecha en el subrbol izquierdo2.1 Si (m >=d)Se verifica que el nmero de elementos en la pgina sea valido Entonces Termina la operacin de borrado Si no Se debe bajar la clave lexicogrficamente adyacente de la pgina antecesora y fusionar las pginas que son descendientes directas de dicha clave Fin 2.1 Fin 2Cabe aclarar que el proceso de fusin de pginas se puede propagar incluso hasta la raz, en cuyo caso la altura del rbol disminuye en una unidad.

Conclusiones

Cuando se tienen arboles con demasiados datos es ms eficiente usar arboles multicamino que se almacenan en la memoria secundaria y que el proceso de bsqueda resulta siendo ms rpido que en un rbol que esta almacenada en la memoria principal. Para cuando deseamos eliminar un dato que se encuentra en las hojas simplemente se elimina y se termina el proceso. Los arboles multicamino son muy eficientes al momento de trabajar con problemas de la vida real ya que usando el ejemplo de sistema de archivos se ajusta perfectamente al modelo del rbol multicamino

Bibliografacastaeda, c. (21 de septiembre de 2012). xcodigoinformatico.blogspot.com. Obtenido de http://xcodigoinformatico.blogspot.com/2012/09/arbol-b-codigo-c-btree-code.htmlslideshare. (03 de febrero de 2013). slideshare.com. Obtenido de http://www.slideshare.net/r3n3sm33/estructuras-de-datos-osvaldo-cairovirux. (05 de abril de 2005). latindevelopers.com. Obtenido de http://www.latindevelopers.com/forum/arbol-b-con-c-t342.htmlwikipedia. (enero de 2014). wikipedia.org. Obtenido de http://es.wikipedia.org/wiki/%C3%81rbol_multicamino