SlideShare ist ein Scribd-Unternehmen logo
1 von 18
UNIVERSIDAD TECNICA
     DEL NORTE
             CARRERA DE INGENIERIA EN
           SISTEMAS COMPUACIONALES

              ESTRUCTURA DE DATOS II




UTN-FICA-CISIC 2012
ÁRBOL ABB
 Un árbol binario de búsqueda es un tipo particular
 de árbol binario que presenta una estructura de datos
 en forma de árbol usada en informática.




  UTN-FICA-CISIC 2012
UTN-FICA-CISIC 2012
OPERACIONES
Todas las operaciones realizadas
 sobre árboles binarios de búsqueda
 están basadas en la comparación
 de los elementos o clave de los
 mismos.


 UTN-FICA-CISIC 2012
BÚSQUEDA
 La búsqueda consiste acceder a la raíz del árbol, si el
  elemento a localizar coincide con éste la búsqueda ha
  concluido con éxito.
 Si el elemento es menor se busca en el subárbol
  izquierdo y si es mayor en el derecho.
 La búsqueda de un elemento en un ABB (Árbol
  Binario de Búsqueda) se puede realizar de dos formas,
  iterativa o recursiva.



   UTN-FICA-CISIC 2012
BÚSQUEDA
 Si se alcanza un nodo hoja y el elemento no ha sido
 encontrado se supone que no existe en el árbol.

                         ELIMINACIÓN
 La operación de borrado no es tan sencilla como las
 de búsqueda e inserción. Existen varios casos a tener
 en consideración.




   UTN-FICA-CISIC 2012
CODIGO EN JAVA METODO
            BUSCAR
 public NodoABB buscar(String r){
    NodoABB a=(NodoABB) raiz.getInfo();
        while(a!=null){
           Persona per=(Persona)a.getInfo();
           if(per.getCedula().equals(r))
            return a;
           else if (per.getCedula().compareTo(r)>0)
              a=a.getIzq();
           else if(per.getCedula().compareTo(r)<0)
              a=a.getDer();
        }
         return null;
    }
 Borrar un nodo sin hijos ó nodo hoja:
 simplemente se borra y se establece a nulo el
 apuntador de su padre.




   UTN-FICA-CISIC 2012
Paso                                                                Eliminar el valor 25
                        21
 1
                                        Nodo Padre
                                  33    localizado
               13

                                                     Paso
       10        18          25        40                      21
                                                      2

                                                          13             33



                                                     10   18                    40
                                                                    25
                                                                              Desconectarlo y
                                                                              liberar el nodo




       UTN-FICA-CISIC 2012
 Borrar un nodo con un subárbol hijo: se borra el
  nodo y se asigna su subárbol hijo como subárbol de su
  padre.
 Eliminar Nodo 70.




   UTN-FICA-CISIC 2012
Paso                    21                                               Eliminar el valor 25
 1
                                             Nodo Padre
                                   33        localizado
               13

                                                          Paso
       10        18           25        40                          21
                                                           2

                                   29                          13          33
                                                                    25
                         27             30                                      40
                                                          10   18
                                                                    29
                                                                                Conectar el Nodo
                                                                                Padre con el Nodo
                                                               27          30   Hijo y liberar el
                                                                                nodo.
       UTN-FICA-CISIC 2012
Eliminar nodo con dos hijos
1.          Localizar 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 implementación es igual de eficiente
                 programar la búsqueda del predecesor que del
                 sucesor.
2.          El valor del Predecedor (o sucesor) se copia
            al nodo a borrar.
3.          Eliminar el nodo del predecesor (o sucesor
            según sea el caso).

UTN-FICA-CISIC 2012
Eliminar el valor 21
                                                                       utilizando el predecesor
Paso                           Localizar el valor a       Paso         21
 1                 21          borrar                      2

                                                                 13              33
          13                 33


                                                           10                         40
                                     40                           18        25
  10         18         25
                                                                        Localizar el Predecesor


                             Copiar el valor del          Paso
Paso                         Predecesor al nodo que        4           18
 3                18         contenía el valor a borrar

                                                                 13              33

        13                   33

                                                            10              25        40
                                                                  18
 10       18                       40
                       25                                                Desconectar y liberar el
       UTN-FICA-CISIC 2012                                               nodo del Predecesor
Eliminar el valor 21
                                                                       utilizando el Sucesor
Paso                           Localizar el valor a       Paso         21
 1                 21          borrar                      2

                                                                 13              33
          13                 33


                                                           10                            40
                                     40                           18        25
  10         18         25
                                                                                      Localizar el Sucesor


                             Copiar el valor del          Paso
Paso                         Sucesor al nodo que           4           18
 3                25         contenía el valor a borrar

                                                                 13              33

        13                   33

                                                            10    18        25           40
 10       18                       40
                       25                                                             Desconectar y liberar el
                                                                                      nodo del Sucesor
       UTN-FICA-CISIC 2012
   public boolean Borrar(String dato)
      {
         NodoABB aux2 = null;
         NodoABB aux = (buscar(dato));

        if (buscar(dato) != null)// SI ES NODO HOJA
        {
           if ((aux.getIzq() == null) && (aux.getDer() == null))
           {
              aux = null;
           }
           else
           {
              if (aux.getIzq() != null && aux.getDer() != null)//SI TIENE 2 HIJOS
              {
                 if (aux == raiz)//Si es el nodo raiz con 2 hijos
                 {
                    aux2 = aux.getIzq();
                    aux = aux.getDer();

                 while (aux.getIzq() != null)
                 {
                   aux = aux.getIzq();//Recorre por la izquierda
                 }
                 aux.setIzq(aux2);
               }
               else
               {

   //Si es otro nodo con 2 hijos

                       aux2 = aux.getIzq();
                       aux = aux.getDer();

                       while (aux.getIzq() != null)
                       {
                         aux = aux.getIzq();// recorre por la Izquierda
                       }
                       aux.setIzq(aux2);
                 }
              }
              else
              {
                 if (aux == raiz) //SI EL NODO A BORRAR ES RAIZ Y TIENE UN SOLO HIJO
                 {

                     if (aux.getIzq() != null)//Si el nodo es raiz y tiene 1 solo hijo por la Izquierda
                     {

                       aux = aux.getIzq();
                     }
                     else
                     {
                        aux = aux.getDer(); //Si el nodo es raiz y tiene 1 solo hijo por la Derecha
   }
                   }
                   else
                   {
                      if (aux.getIzq() != null) //Si es otro nodo y tiene 1 solo hijo por la Izquierda
                      {

                         aux = aux.getIzq();
                       }
                       else
                       {
                          aux = aux.getDer();//Si es otro nodo y tiene 1 solo hijo por la Izquierda
                       }
                   }
               }
             }
             return true;//Cuando pudo ser encontrado el nodo a eliminar
           }
           return false; //Cuando no pudo ser encontrado el nodo a eliminar
       }
GRACIAS

UTN-FICA-CISIC 2012

Weitere ähnliche Inhalte

Was ist angesagt?

Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesJosé Antonio Sandoval Acosta
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda HashBlanca Parra
 
Listas de adyacencia
Listas de adyacenciaListas de adyacencia
Listas de adyacencialeidy2220
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Osiris Mirerus
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoJosé Antonio Sandoval Acosta
 
Prolog ejercicios resueltos
Prolog ejercicios resueltosProlog ejercicios resueltos
Prolog ejercicios resueltosJansel M
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos Kaneki04
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamientodeff000001
 
Memoria Estatica
Memoria EstaticaMemoria Estatica
Memoria EstaticaJ M
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosAngel Vázquez Patiño
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasHuascar Génere
 
arboles avl con codigo en java
arboles avl con codigo en javaarboles avl con codigo en java
arboles avl con codigo en javamarhoz
 
Formatos de instrucción
Formatos de instrucciónFormatos de instrucción
Formatos de instrucciónSantiago Rozo
 

Was ist angesagt? (20)

Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no lineales
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 
Listas de adyacencia
Listas de adyacenciaListas de adyacencia
Listas de adyacencia
 
Estructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no linealesEstructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no lineales
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
Prolog ejercicios resueltos
Prolog ejercicios resueltosProlog ejercicios resueltos
Prolog ejercicios resueltos
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
 
Estructuras de datos lineales
Estructuras de datos linealesEstructuras de datos lineales
Estructuras de datos lineales
 
Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
 
Memoria Estatica
Memoria EstaticaMemoria Estatica
Memoria Estatica
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenados
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colas
 
Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4
 
Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
 
arboles avl con codigo en java
arboles avl con codigo en javaarboles avl con codigo en java
arboles avl con codigo en java
 
Formatos de instrucción
Formatos de instrucciónFormatos de instrucción
Formatos de instrucción
 

Mehr von Stalin Eduardo Tusa Vitar

Cambio de Paradigmas de Seguridad en Smarphones
Cambio de Paradigmas de Seguridad en SmarphonesCambio de Paradigmas de Seguridad en Smarphones
Cambio de Paradigmas de Seguridad en SmarphonesStalin Eduardo Tusa Vitar
 
Primera_Aplicación_Python_Django_Postgresql_Fedora_19
Primera_Aplicación_Python_Django_Postgresql_Fedora_19Primera_Aplicación_Python_Django_Postgresql_Fedora_19
Primera_Aplicación_Python_Django_Postgresql_Fedora_19Stalin Eduardo Tusa Vitar
 
Software Libre para SIG (Sistemas de Informacion Geográfica)
Software Libre para SIG (Sistemas de Informacion Geográfica)Software Libre para SIG (Sistemas de Informacion Geográfica)
Software Libre para SIG (Sistemas de Informacion Geográfica)Stalin Eduardo Tusa Vitar
 
Data Center y Virtualización - Infraestructura
Data Center y Virtualización - InfraestructuraData Center y Virtualización - Infraestructura
Data Center y Virtualización - InfraestructuraStalin Eduardo Tusa Vitar
 
Manual Jboss Server,Creación de Proyecto en Eclipse
Manual Jboss Server,Creación de Proyecto en EclipseManual Jboss Server,Creación de Proyecto en Eclipse
Manual Jboss Server,Creación de Proyecto en EclipseStalin Eduardo Tusa Vitar
 
RMI_Concepto_Elementos_Funciones_Ventajas_Desventajas
RMI_Concepto_Elementos_Funciones_Ventajas_DesventajasRMI_Concepto_Elementos_Funciones_Ventajas_Desventajas
RMI_Concepto_Elementos_Funciones_Ventajas_DesventajasStalin Eduardo Tusa Vitar
 

Mehr von Stalin Eduardo Tusa Vitar (20)

Sistemas Quipux, Axis Cloud, Webmail
Sistemas Quipux, Axis Cloud, WebmailSistemas Quipux, Axis Cloud, Webmail
Sistemas Quipux, Axis Cloud, Webmail
 
Cambio de Paradigmas de Seguridad en Smarphones
Cambio de Paradigmas de Seguridad en SmarphonesCambio de Paradigmas de Seguridad en Smarphones
Cambio de Paradigmas de Seguridad en Smarphones
 
Primera_Aplicación_Python_Django_Postgresql_Fedora_19
Primera_Aplicación_Python_Django_Postgresql_Fedora_19Primera_Aplicación_Python_Django_Postgresql_Fedora_19
Primera_Aplicación_Python_Django_Postgresql_Fedora_19
 
Software Libre para SIG (Sistemas de Informacion Geográfica)
Software Libre para SIG (Sistemas de Informacion Geográfica)Software Libre para SIG (Sistemas de Informacion Geográfica)
Software Libre para SIG (Sistemas de Informacion Geográfica)
 
Esx, vcenter, vclient, vmotion, freenas
Esx, vcenter, vclient, vmotion, freenas Esx, vcenter, vclient, vmotion, freenas
Esx, vcenter, vclient, vmotion, freenas
 
Data Center y Virtualización - Infraestructura
Data Center y Virtualización - InfraestructuraData Center y Virtualización - Infraestructura
Data Center y Virtualización - Infraestructura
 
Manual Jboss Server,Creación de Proyecto en Eclipse
Manual Jboss Server,Creación de Proyecto en EclipseManual Jboss Server,Creación de Proyecto en Eclipse
Manual Jboss Server,Creación de Proyecto en Eclipse
 
Toma de decisiones
Toma de decisionesToma de decisiones
Toma de decisiones
 
Sistemas de Almacenamiento Compartido
Sistemas de Almacenamiento CompartidoSistemas de Almacenamiento Compartido
Sistemas de Almacenamiento Compartido
 
RMI_Concepto_Elementos_Funciones_Ventajas_Desventajas
RMI_Concepto_Elementos_Funciones_Ventajas_DesventajasRMI_Concepto_Elementos_Funciones_Ventajas_Desventajas
RMI_Concepto_Elementos_Funciones_Ventajas_Desventajas
 
Ventas al mayoreo y distribución física
Ventas al mayoreo y distribución físicaVentas al mayoreo y distribución física
Ventas al mayoreo y distribución física
 
Terrorismo informático
Terrorismo informáticoTerrorismo informático
Terrorismo informático
 
Seguridad en el trabajo
Seguridad en el trabajoSeguridad en el trabajo
Seguridad en el trabajo
 
Manejo de prtg network monitor
Manejo de prtg network monitorManejo de prtg network monitor
Manejo de prtg network monitor
 
Prtg network monitor
Prtg network monitorPrtg network monitor
Prtg network monitor
 
Diseño de interfaz de usuario
Diseño de interfaz de usuarioDiseño de interfaz de usuario
Diseño de interfaz de usuario
 
Reorganizacion de una base de datos
Reorganizacion de una base de datosReorganizacion de una base de datos
Reorganizacion de una base de datos
 
Replicacion en SQLserver2008r2
Replicacion en  SQLserver2008r2Replicacion en  SQLserver2008r2
Replicacion en SQLserver2008r2
 
Ingenieria de Software (Openup)
Ingenieria de Software (Openup)Ingenieria de Software (Openup)
Ingenieria de Software (Openup)
 
Caracteristicas de dbms_SQL SERVER 2008
Caracteristicas de dbms_SQL SERVER 2008Caracteristicas de dbms_SQL SERVER 2008
Caracteristicas de dbms_SQL SERVER 2008
 

Kürzlich hochgeladen

prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!CatalinaAlfaroChryso
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxiemerc2024
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxlclcarmen
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIAFabiolaGarcia751855
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...jlorentemartos
 
Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresJonathanCovena1
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxBeatrizQuijano2
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfapunteshistoriamarmo
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfGruberACaraballo
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesMarisolMartinez707897
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOPsicoterapia Holística
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...JAVIER SOLIS NOYOLA
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfpatriciaines1993
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxroberthirigoinvasque
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONamelia poma
 

Kürzlich hochgeladen (20)

prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por Valores
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 

Inserción,borrado y búsqueda en Arboles Binarios(Java)

  • 1. UNIVERSIDAD TECNICA DEL NORTE CARRERA DE INGENIERIA EN SISTEMAS COMPUACIONALES ESTRUCTURA DE DATOS II UTN-FICA-CISIC 2012
  • 2. ÁRBOL ABB  Un árbol binario de búsqueda es un tipo particular de árbol binario que presenta una estructura de datos en forma de árbol usada en informática. UTN-FICA-CISIC 2012
  • 4. OPERACIONES Todas las operaciones realizadas sobre árboles binarios de búsqueda están basadas en la comparación de los elementos o clave de los mismos. UTN-FICA-CISIC 2012
  • 5. BÚSQUEDA  La búsqueda consiste acceder a la raíz del árbol, si el elemento a localizar coincide con éste la búsqueda ha concluido con éxito.  Si el elemento es menor se busca en el subárbol izquierdo y si es mayor en el derecho.  La búsqueda de un elemento en un ABB (Árbol Binario de Búsqueda) se puede realizar de dos formas, iterativa o recursiva. UTN-FICA-CISIC 2012
  • 6. BÚSQUEDA  Si se alcanza un nodo hoja y el elemento no ha sido encontrado se supone que no existe en el árbol. ELIMINACIÓN  La operación de borrado no es tan sencilla como las de búsqueda e inserción. Existen varios casos a tener en consideración. UTN-FICA-CISIC 2012
  • 7. CODIGO EN JAVA METODO BUSCAR  public NodoABB buscar(String r){  NodoABB a=(NodoABB) raiz.getInfo();  while(a!=null){  Persona per=(Persona)a.getInfo();  if(per.getCedula().equals(r))  return a;  else if (per.getCedula().compareTo(r)>0)  a=a.getIzq();  else if(per.getCedula().compareTo(r)<0)  a=a.getDer();  }  return null;  }
  • 8.  Borrar un nodo sin hijos ó nodo hoja:  simplemente se borra y se establece a nulo el apuntador de su padre. UTN-FICA-CISIC 2012
  • 9. Paso Eliminar el valor 25 21 1 Nodo Padre 33 localizado 13 Paso 10 18 25 40 21 2 13 33 10 18 40 25 Desconectarlo y liberar el nodo UTN-FICA-CISIC 2012
  • 10.  Borrar un nodo con un subárbol hijo: se borra el nodo y se asigna su subárbol hijo como subárbol de su padre.  Eliminar Nodo 70. UTN-FICA-CISIC 2012
  • 11. Paso 21 Eliminar el valor 25 1 Nodo Padre 33 localizado 13 Paso 10 18 25 40 21 2 29 13 33 25 27 30 40 10 18 29 Conectar el Nodo Padre con el Nodo 27 30 Hijo y liberar el nodo. UTN-FICA-CISIC 2012
  • 12. Eliminar nodo con dos hijos 1. Localizar 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 implementación es igual de eficiente programar la búsqueda del predecesor que del sucesor. 2. El valor del Predecedor (o sucesor) se copia al nodo a borrar. 3. Eliminar el nodo del predecesor (o sucesor según sea el caso). UTN-FICA-CISIC 2012
  • 13. Eliminar el valor 21 utilizando el predecesor Paso Localizar el valor a Paso 21 1 21 borrar 2 13 33 13 33 10 40 40 18 25 10 18 25 Localizar el Predecesor Copiar el valor del Paso Paso Predecesor al nodo que 4 18 3 18 contenía el valor a borrar 13 33 13 33 10 25 40 18 10 18 40 25 Desconectar y liberar el UTN-FICA-CISIC 2012 nodo del Predecesor
  • 14. Eliminar el valor 21 utilizando el Sucesor Paso Localizar el valor a Paso 21 1 21 borrar 2 13 33 13 33 10 40 40 18 25 10 18 25 Localizar el Sucesor Copiar el valor del Paso Paso Sucesor al nodo que 4 18 3 25 contenía el valor a borrar 13 33 13 33 10 18 25 40 10 18 40 25 Desconectar y liberar el nodo del Sucesor UTN-FICA-CISIC 2012
  • 15. public boolean Borrar(String dato)  {  NodoABB aux2 = null;  NodoABB aux = (buscar(dato));  if (buscar(dato) != null)// SI ES NODO HOJA  {  if ((aux.getIzq() == null) && (aux.getDer() == null))  {  aux = null;  }  else  {  if (aux.getIzq() != null && aux.getDer() != null)//SI TIENE 2 HIJOS  {  if (aux == raiz)//Si es el nodo raiz con 2 hijos  {  aux2 = aux.getIzq();  aux = aux.getDer();  while (aux.getIzq() != null)  {  aux = aux.getIzq();//Recorre por la izquierda  }  aux.setIzq(aux2);  }  else  { 
  • 16. //Si es otro nodo con 2 hijos  aux2 = aux.getIzq();  aux = aux.getDer();  while (aux.getIzq() != null)  {  aux = aux.getIzq();// recorre por la Izquierda  }  aux.setIzq(aux2);  }  }  else  {  if (aux == raiz) //SI EL NODO A BORRAR ES RAIZ Y TIENE UN SOLO HIJO  {  if (aux.getIzq() != null)//Si el nodo es raiz y tiene 1 solo hijo por la Izquierda  {  aux = aux.getIzq();  }  else  {  aux = aux.getDer(); //Si el nodo es raiz y tiene 1 solo hijo por la Derecha
  • 17. }  }  else  {  if (aux.getIzq() != null) //Si es otro nodo y tiene 1 solo hijo por la Izquierda  {  aux = aux.getIzq();  }  else  {  aux = aux.getDer();//Si es otro nodo y tiene 1 solo hijo por la Izquierda  }  }  }  }  return true;//Cuando pudo ser encontrado el nodo a eliminar  }  return false; //Cuando no pudo ser encontrado el nodo a eliminar  }