Uss Sem 12 Arbol

22
1 UNIDAD 1 UNIDAD 1 MG.MAT.HALYN ALVAREZ VASQUEZ

description

Arboles -- Matematica 2 Universidad Señor de Sipan

Transcript of Uss Sem 12 Arbol

  • *UNIDAD 1MG.MAT.HALYN ALVAREZ VASQUEZ

  • Las estructuras dinmicas son las en la ejecucin varia el nmero de elementos y uso de memoria a lo largo del programa)

    Entre estas tenemos:

    Lineales (listas enlazadas, pilas y colas)No lineales (arboles binarios y grafos o redes)

  • Qu es un rbol?Es una estructura de datos jerrquica.La relacin entre los elementos es de uno a muchos.

  • TerminologaNodo: Cada elemento en un rbol.Nodo Raz: Primer elemento agregado al rbol.BADEHFKGCNodo Raz

  • Ms terminologaNodo Padre: Se le llama as al nodo predecesor de un elemento.Nodo Hijo: Es el nodo sucesor de un elemento.Hermanos: Nodos que tienen el mismo nodo padre.BADEHFKGCNodo PadreF y G son Nodos Hijos de CF y G son hermanos

  • Ms terminologaNodo Hoja: Aquel nodo que no tiene hijos.BADEHFKGCD, H, F y K son Nodos Hojas

  • Ms terminologaSubrbol: Todos los nodos descendientes por la izquierda o derecha de un nodo.BADEHFKGCSubrbol derecho de CSubrbol izquierdo de C

  • Altura y NivelesNivel 0Nivel 1Nivel 2Nivel 3Altura del rbol = 4BADEHFKGCLa Altura es la cantidad de niveles.

  • rbol Binario de Bsqueda (ABB)Este tipo de rbol permite almacenar informacin ordenada.Reglas a cumplir:Cada nodo del rbol puede tener 0, 1 2 hijos.Los descendientes izquierdos deben tener un valor menor al padre.Los descendientes derechos deben tener un valor mayor al padre.

  • Ejemplos de ABB13215181525403633213032434133

  • Por qu no son ABB?13211718152540223315246

  • Proceso para agregar nodos...Reglas:El valor a insertar no existe en el rbol.El nuevo nodo ser un Nodo Hoja del rbol.ProcedimientoBuscar el Nodo Padre del nodo a agregar.Agregar el nodo hoja.

  • EjemploEl 26 es mayor o menor que el 21?Agregar el valor 2613211018254033El 26 es mayor o menor que el 33?13211018254033Se encontr el Nodo PadrePaso1Paso2Paso313211018254033Agregar el nodoPaso426

  • Comentarios importantes....El orden de insercin de los datos, determina la forma del ABB.Qu pasar si se insertan los datos en forma ordenada?La forma del ABB determina la eficiencia del proceso de bsqueda.Entre menos altura tenga el ABB, ms balanceado estar, y ms eficiente ser.1310182125Este rbol est desbalanceadoporque los valores se agregaron en el siguiente orden:10, 13, 18, 21, 25, 33, 40

  • Proceso para eliminar un nodoSi el nodo a eliminar es un:Nodo hojaBuscar el Nodo Padre del nodo a borrar.Desconectarlo.Liberar el nodo.Nodo con un hijoBuscar el Nodo Padre del nodo a borrar.Conectar el hijo con el padre del nodo a borrar.Liberar el nodo.Nodo con dos hijosLocalizar el nodo predecesor o sucesor del nodo a borrar.Copiar la informacin.Eliminar el predecesor o sucesor segn sea el caso.

  • Caso: Eliminar Nodo hoja13211018254033Nodo Padre localizado13211018254033Desconectarlo y liberar el nodoPaso1Paso2Eliminar el valor 25

  • Caso: Eliminar Nodo con un hijo13211018254033Nodo Padre localizado13211018254033Conectar el Nodo Padre con el Nodo Hijo y liberar el nodo.Paso1Paso2Eliminar el valor 25292730292730

  • Caso: Eliminar nodo con dos hijosLocalizar el nodo predecesor o sucesor del nodo a borrar.El PREDECESOR es el Mayor de los Menores.El SUCESOR es el Menor de los Mayores.Para la implementacin es igual de eficiente programar la bsqueda del predecesor que del sucesor.El valor del Predecedor (o sucesor) se copia al nodo a borrar.Eliminar el nodo del predecesor (o sucesor segn sea el caso).

  • Predecesor132110254033292730Uno a la IZQUIERDA y todo a la DERECHA

    El predecesor de:Es:333021132927

  • Sucesor13211018254033292730Uno a la DERECHA y todo a la IZQUIERDA

    El sucesor de:Es:212533402930

  • Caso: Eliminar Nodo con dos hijos13211018254033Localizar el valor a borrarPaso1Eliminar el valor 21 utilizando el predecesor13211018254033Localizar el PredecesorPaso213181018254033Copiar el valor del Predecesor al nodo que contena el valor a borrarPaso313181018254033Desconectar y liberar el nodo del PredecesorPaso4

  • Eliminar el valor 21 utilizando el SucesorCaso: Eliminar Nodo con dos hijos13211018254033Localizar el valor a borrarPaso113211018254033Localizar el SucesorPaso213251018254033Copiar el valor del Sucesor al nodo que contena el valor a borrarPaso313181018254033Desconectar y liberar el nodo del SucesorPaso4