SlideShare una empresa de Scribd logo
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

Más contenido relacionado

La actualidad más candente

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
José Antonio Sandoval Acosta
 
arboles avl con codigo en java
arboles avl con codigo en javaarboles avl con codigo en java
arboles avl con codigo en java
marhoz
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
Angel Vázquez Patiño
 
Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras Lineales
José Antonio Sandoval Acosta
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
Alvaro Enrique Ruano
 
5. arboles binarios
5. arboles binarios5. arboles binarios
5. arboles binarioselcapo2008
 
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
Daniel Gomez Jaramillo
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
NANO-06
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de Ordenamiento
José Antonio Sandoval Acosta
 
Árboles Multicamino, B y B+
Árboles Multicamino, B y B+Árboles Multicamino, B y B+
Árboles Multicamino, B y B+
Alvaro Enrique Ruano
 
Estructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no linealesEstructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no lineales
José Antonio Sandoval Acosta
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
NANO-06
 
Exposicion Busqueda
Exposicion BusquedaExposicion Busqueda
Exposicion BusquedaAngie Suarez
 
Arboles B y Arboles B+
Arboles B y Arboles B+Arboles B y Arboles B+
Arboles B y Arboles B+neltherdaza
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
Lalo Chooper
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCristopher Morales Ruiz
 

La actualidad más candente (20)

Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
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
 
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
 
arboles avl con codigo en java
arboles avl con codigo en javaarboles avl con codigo en java
arboles avl con codigo en java
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 
Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras Lineales
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
5. arboles binarios
5. arboles binarios5. arboles binarios
5. arboles binarios
 
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
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de Ordenamiento
 
Árboles Multicamino, B y B+
Árboles Multicamino, B y B+Árboles Multicamino, B y B+
Árboles Multicamino, B y B+
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Tablas Hash
Tablas HashTablas Hash
Tablas Hash
 
Estructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no linealesEstructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no lineales
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
 
Exposicion Busqueda
Exposicion BusquedaExposicion Busqueda
Exposicion Busqueda
 
Arboles B y Arboles B+
Arboles B y Arboles B+Arboles B y Arboles B+
Arboles B y Arboles B+
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busqueda
 

Más de Stalin Eduardo Tusa Vitar

Sistemas Quipux, Axis Cloud, Webmail
Sistemas Quipux, Axis Cloud, WebmailSistemas Quipux, Axis Cloud, Webmail
Sistemas Quipux, Axis Cloud, Webmail
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 Smarphones
Stalin 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_19
Stalin 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
 
Esx, vcenter, vclient, vmotion, freenas
Esx, vcenter, vclient, vmotion, freenas Esx, vcenter, vclient, vmotion, freenas
Esx, vcenter, vclient, vmotion, freenas
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 - Infraestructura
Stalin 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 Eclipse
Stalin Eduardo Tusa Vitar
 
Toma de decisiones
Toma de decisionesToma de decisiones
Toma de decisiones
Stalin Eduardo Tusa Vitar
 
Sistemas de Almacenamiento Compartido
Sistemas de Almacenamiento CompartidoSistemas de Almacenamiento Compartido
Sistemas de Almacenamiento Compartido
Stalin 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_Desventajas
Stalin Eduardo Tusa Vitar
 

Más de 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
 

Último

evalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeevalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
MaribelGaitanRamosRa
 
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
DivinoNioJess885
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
LorenaCovarrubias12
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
CESAR MIJAEL ESPINOZA SALAZAR
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
Edurne Navarro Bueno
 
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdfTexto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
ClaudiaAlcondeViadez
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
Martín Ramírez
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Monseespinoza6
 
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdfT3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
eliecerespinosa
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
DIANADIAZSILVA1
 
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdfINFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
Alejandrogarciapanta
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
JAVIER SOLIS NOYOLA
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
20minutos
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
https://gramadal.wordpress.com/
 
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
20minutos
 
Fase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcionalFase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcional
YasneidyGonzalez
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
sandradianelly
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
YasneidyGonzalez
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
pablomarin116
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
danitarb
 

Último (20)

evalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeevalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
 
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
 
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdfTexto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
 
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdfT3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
 
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdfINFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
 
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
 
Fase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcionalFase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcional
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
 

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  }