SlideShare una empresa de Scribd logo
1 de 5
   class NodoArbol{        int Dato;         NodoArbol  izq;       NodoArbol der;       public NodoArbol (int dato){    this.dato=dato;    izq=der=null; }}public void insertar (int dato){ NodoArbo nuevonodo= new NodoArbol(dato); if (raíz == null)    raíz = nuevonodo;else    {     NodoArbol actual = raíz;     NodoArbol p;     while(true)     {       p= actual;       if (dato < actual.dato) //ir a la   izquierda       {         actual = actual.izq;         if (actual == null )     {                                          p.izq = nuevonodo;   return;          }      } //fin ir a la izquierda      else  //es mayor       {         actual = actual.der;         if (actual == null)         {           p.der = nuevonodo;           return;         }       } //fin else ir derecha    } //fin while   } //fin else no raíz} //fin insert public NodoArbol find (int llave){ Nodo actual = raíz; while (actual.dato != llave)  {  if (llave menor actual.dato)    actual = actual.izq;  else     actual = actual.der;  if (actual == null)     return null;} //fin while return actual;}<br />public boolean delete (int llave){  NodoArbol actual = raíz;  NodoArbol p = raíz;  Boolean  hijoizq= true; while (actual.Dato != llave)    {      p= actual;      if (llave < actual.Dato)        {         hijoizq= true;         actual.actual.izq     // va a la izquierda      }      else      {         hijoizq= false;         actual= actual.der   // va a la derecha       }      if (actual == null) // no lo encontro          return false;  } // fin while   // encontro el nodo a borrar// si no tiene hijo, simplemente lo borraif (actual.izq == null && actual.der == null) {   (if actual == raiz)      // si es la raíz     root = null;// el árbol esta vacío   else if(hijoizq)             p.izq = null    //lo desconecta de p          else             p.der = null; }// si no tiene hijo derecho, lo reemplaza con el subárbol izquierdoelse if( actual.der == null)           if (actual == raiz)               raiz = actual.izq;           else if (hijoizq)                      p.izq =actual.izq;                  else                      p.der= actual.izq;         // si no tiene hijo izquierdo, lo reemplaza con el subarbol derecho        else if (actual.izq == null)                         if (actual == raiz)                          raiz = actual.der;           else if (hijoizq)                                  p.izq =actual.der;                  else                      p.der= actual.der;                   else // tiene dos hijos, es reemplazado por el sucesor                        {                           // llama al metodo obtener sucesor del nodo a borrar (actual)                          Nodo sucesor = getSucesor (actual);                          // conecta p de actual con el sucesor                          if (actual ==raiz)                             raiz = sucesor;                           else if (hijoizq)                                       p.izq= sucesor;                                   else                                        p.der=succesor;                           successor.izq = actual.izq //conecta sucesor con la rama izq de actual                         } //fin tiene dos hijos                      return true;         } fin borrarprivate NodoArbol getSucesor(Nodo delNodo)   {      NodoArbol sucerorp= delNodo;      NodoArbol sucesor = delNodo;      NodoArbol actual= delNodo.der;   / va al hijo derecho      while (actual != null)                  {            sucesorp = sucesor;            sucesor = actual;            actual = actual.izq;        }        //               if (sucesor != delNodo.der)            {               sucesorp.izq= sucesor.der;                sucesor.der = delNodo.der;              }       return sucesor;    } // fin getSucesor<br />Tarea, hacer la prueba de escritorio borrando los nodos del ejemplo mostrado.<br />
Prueba insertarbuscarborrarnodoarbol
Prueba insertarbuscarborrarnodoarbol
Prueba insertarbuscarborrarnodoarbol
Prueba insertarbuscarborrarnodoarbol

Más contenido relacionado

Más de María Luisa Velasco (20)

Respaldando bd
Respaldando bdRespaldando bd
Respaldando bd
 
Sql
SqlSql
Sql
 
Sql
SqlSql
Sql
 
Guia eejerciciospracticos
Guia eejerciciospracticosGuia eejerciciospracticos
Guia eejerciciospracticos
 
Ejercicios normalización
Ejercicios normalizaciónEjercicios normalización
Ejercicios normalización
 
Normalizacion
NormalizacionNormalizacion
Normalizacion
 
Guia eejerciciospracticos
Guia eejerciciospracticosGuia eejerciciospracticos
Guia eejerciciospracticos
 
Guia eejerciciospracticos
Guia eejerciciospracticosGuia eejerciciospracticos
Guia eejerciciospracticos
 
Guia eejerciciospracticos
Guia eejerciciospracticosGuia eejerciciospracticos
Guia eejerciciospracticos
 
Modulos sgbd
Modulos sgbdModulos sgbd
Modulos sgbd
 
Guia eejerciciospracticos
Guia eejerciciospracticosGuia eejerciciospracticos
Guia eejerciciospracticos
 
Induccion fundbd2012
Induccion fundbd2012Induccion fundbd2012
Induccion fundbd2012
 
Induccion fundbd2012
Induccion fundbd2012Induccion fundbd2012
Induccion fundbd2012
 
Guia eejerciciospracticos
Guia eejerciciospracticosGuia eejerciciospracticos
Guia eejerciciospracticos
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
Proyecto final de algoritmica
Proyecto final de algoritmicaProyecto final de algoritmica
Proyecto final de algoritmica
 
Ejercicios arreglos4
Ejercicios arreglos4Ejercicios arreglos4
Ejercicios arreglos4
 
Ejercicios arreglos2
Ejercicios arreglos2Ejercicios arreglos2
Ejercicios arreglos2
 
Seguridad bd
Seguridad bdSeguridad bd
Seguridad bd
 
Ejercicios3parte
Ejercicios3parteEjercicios3parte
Ejercicios3parte
 

Último

senati-powerpoint_5TOS-_ALUMNOS (1).pptx
senati-powerpoint_5TOS-_ALUMNOS (1).pptxsenati-powerpoint_5TOS-_ALUMNOS (1).pptx
senati-powerpoint_5TOS-_ALUMNOS (1).pptx
nathalypaolaacostasu
 
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
i7ingenieria
 
UNIDAD DIDACTICA DE CUARTO BIMESTRE DOCENTES SECUNDARIA
UNIDAD DIDACTICA DE CUARTO BIMESTRE DOCENTES SECUNDARIAUNIDAD DIDACTICA DE CUARTO BIMESTRE DOCENTES SECUNDARIA
UNIDAD DIDACTICA DE CUARTO BIMESTRE DOCENTES SECUNDARIA
sonapo
 
SENTENCIA COLOMBIA DISCRIMINACION SELECCION PERSONAL.pdf
SENTENCIA COLOMBIA DISCRIMINACION SELECCION PERSONAL.pdfSENTENCIA COLOMBIA DISCRIMINACION SELECCION PERSONAL.pdf
SENTENCIA COLOMBIA DISCRIMINACION SELECCION PERSONAL.pdf
JaredQuezada3
 
Comparativo DS 024-2016-EM vs DS 023-2017-EM - 21.08.17 (1).pdf
Comparativo DS 024-2016-EM vs DS 023-2017-EM - 21.08.17 (1).pdfComparativo DS 024-2016-EM vs DS 023-2017-EM - 21.08.17 (1).pdf
Comparativo DS 024-2016-EM vs DS 023-2017-EM - 21.08.17 (1).pdf
AJYSCORP
 

Último (20)

Empresa Sazonadores Lopesa estudio de mercado
Empresa Sazonadores Lopesa estudio de mercadoEmpresa Sazonadores Lopesa estudio de mercado
Empresa Sazonadores Lopesa estudio de mercado
 
senati-powerpoint_5TOS-_ALUMNOS (1).pptx
senati-powerpoint_5TOS-_ALUMNOS (1).pptxsenati-powerpoint_5TOS-_ALUMNOS (1).pptx
senati-powerpoint_5TOS-_ALUMNOS (1).pptx
 
Las sociedades anónimas en el Perú , de acuerdo a la Ley general de sociedades
Las sociedades anónimas en el Perú , de acuerdo a la Ley general de sociedadesLas sociedades anónimas en el Perú , de acuerdo a la Ley general de sociedades
Las sociedades anónimas en el Perú , de acuerdo a la Ley general de sociedades
 
4 Tipos de Empresa Sociedad colectiva.pptx
4 Tipos de Empresa Sociedad colectiva.pptx4 Tipos de Empresa Sociedad colectiva.pptx
4 Tipos de Empresa Sociedad colectiva.pptx
 
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
 
Caja nacional de salud 0&!(&:(_5+:;?)8-!!(
Caja nacional de salud 0&!(&:(_5+:;?)8-!!(Caja nacional de salud 0&!(&:(_5+:;?)8-!!(
Caja nacional de salud 0&!(&:(_5+:;?)8-!!(
 
informacion-finanTFHHETHAETHciera-2022.pdf
informacion-finanTFHHETHAETHciera-2022.pdfinformacion-finanTFHHETHAETHciera-2022.pdf
informacion-finanTFHHETHAETHciera-2022.pdf
 
Manual de Imagen Personal y uso de uniformes
Manual de Imagen Personal y uso de uniformesManual de Imagen Personal y uso de uniformes
Manual de Imagen Personal y uso de uniformes
 
UNIDAD DIDACTICA DE CUARTO BIMESTRE DOCENTES SECUNDARIA
UNIDAD DIDACTICA DE CUARTO BIMESTRE DOCENTES SECUNDARIAUNIDAD DIDACTICA DE CUARTO BIMESTRE DOCENTES SECUNDARIA
UNIDAD DIDACTICA DE CUARTO BIMESTRE DOCENTES SECUNDARIA
 
mapa-conceptual-evidencias-de-auditoria_compress.pdf
mapa-conceptual-evidencias-de-auditoria_compress.pdfmapa-conceptual-evidencias-de-auditoria_compress.pdf
mapa-conceptual-evidencias-de-auditoria_compress.pdf
 
Tarea-4-Estadistica-Descriptiva-Materia.ppt
Tarea-4-Estadistica-Descriptiva-Materia.pptTarea-4-Estadistica-Descriptiva-Materia.ppt
Tarea-4-Estadistica-Descriptiva-Materia.ppt
 
modulo+penal+del+16+al+20+hhggde+enero.pdf
modulo+penal+del+16+al+20+hhggde+enero.pdfmodulo+penal+del+16+al+20+hhggde+enero.pdf
modulo+penal+del+16+al+20+hhggde+enero.pdf
 
2024 - 04 PPT Directiva para la formalizacion, sustento y registro del gasto ...
2024 - 04 PPT Directiva para la formalizacion, sustento y registro del gasto ...2024 - 04 PPT Directiva para la formalizacion, sustento y registro del gasto ...
2024 - 04 PPT Directiva para la formalizacion, sustento y registro del gasto ...
 
ADMINISTRACIÓN DE CUENTAS POR COBRAR CGSR.pptx
ADMINISTRACIÓN DE CUENTAS POR COBRAR CGSR.pptxADMINISTRACIÓN DE CUENTAS POR COBRAR CGSR.pptx
ADMINISTRACIÓN DE CUENTAS POR COBRAR CGSR.pptx
 
Maria_diaz.pptx mapa conceptual gerencia industral
Maria_diaz.pptx mapa conceptual   gerencia industralMaria_diaz.pptx mapa conceptual   gerencia industral
Maria_diaz.pptx mapa conceptual gerencia industral
 
TEORÍAS DE LA MOTIVACIÓN Recursos Humanos.pptx
TEORÍAS DE LA MOTIVACIÓN Recursos Humanos.pptxTEORÍAS DE LA MOTIVACIÓN Recursos Humanos.pptx
TEORÍAS DE LA MOTIVACIÓN Recursos Humanos.pptx
 
SENTENCIA COLOMBIA DISCRIMINACION SELECCION PERSONAL.pdf
SENTENCIA COLOMBIA DISCRIMINACION SELECCION PERSONAL.pdfSENTENCIA COLOMBIA DISCRIMINACION SELECCION PERSONAL.pdf
SENTENCIA COLOMBIA DISCRIMINACION SELECCION PERSONAL.pdf
 
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
 
Comparativo DS 024-2016-EM vs DS 023-2017-EM - 21.08.17 (1).pdf
Comparativo DS 024-2016-EM vs DS 023-2017-EM - 21.08.17 (1).pdfComparativo DS 024-2016-EM vs DS 023-2017-EM - 21.08.17 (1).pdf
Comparativo DS 024-2016-EM vs DS 023-2017-EM - 21.08.17 (1).pdf
 
2 Tipo Sociedad comandita por acciones.pptx
2 Tipo Sociedad comandita por acciones.pptx2 Tipo Sociedad comandita por acciones.pptx
2 Tipo Sociedad comandita por acciones.pptx
 

Prueba insertarbuscarborrarnodoarbol

  • 1. class NodoArbol{ int Dato; NodoArbol izq; NodoArbol der; public NodoArbol (int dato){ this.dato=dato; izq=der=null; }}public void insertar (int dato){ NodoArbo nuevonodo= new NodoArbol(dato); if (raíz == null) raíz = nuevonodo;else { NodoArbol actual = raíz; NodoArbol p; while(true) { p= actual; if (dato < actual.dato) //ir a la izquierda { actual = actual.izq; if (actual == null ) { p.izq = nuevonodo; return; } } //fin ir a la izquierda else //es mayor { actual = actual.der; if (actual == null) { p.der = nuevonodo; return; } } //fin else ir derecha } //fin while } //fin else no raíz} //fin insert public NodoArbol find (int llave){ Nodo actual = raíz; while (actual.dato != llave) { if (llave menor actual.dato) actual = actual.izq; else actual = actual.der; if (actual == null) return null;} //fin while return actual;}<br />public boolean delete (int llave){ NodoArbol actual = raíz; NodoArbol p = raíz; Boolean hijoizq= true; while (actual.Dato != llave) { p= actual; if (llave < actual.Dato) { hijoizq= true; actual.actual.izq // va a la izquierda } else { hijoizq= false; actual= actual.der // va a la derecha } if (actual == null) // no lo encontro return false; } // fin while // encontro el nodo a borrar// si no tiene hijo, simplemente lo borraif (actual.izq == null && actual.der == null) { (if actual == raiz) // si es la raíz root = null;// el árbol esta vacío else if(hijoizq) p.izq = null //lo desconecta de p else p.der = null; }// si no tiene hijo derecho, lo reemplaza con el subárbol izquierdoelse if( actual.der == null) if (actual == raiz) raiz = actual.izq; else if (hijoizq) p.izq =actual.izq; else p.der= actual.izq; // si no tiene hijo izquierdo, lo reemplaza con el subarbol derecho else if (actual.izq == null) if (actual == raiz) raiz = actual.der; else if (hijoizq) p.izq =actual.der; else p.der= actual.der; else // tiene dos hijos, es reemplazado por el sucesor { // llama al metodo obtener sucesor del nodo a borrar (actual) Nodo sucesor = getSucesor (actual); // conecta p de actual con el sucesor if (actual ==raiz) raiz = sucesor; else if (hijoizq) p.izq= sucesor; else p.der=succesor; successor.izq = actual.izq //conecta sucesor con la rama izq de actual } //fin tiene dos hijos return true; } fin borrarprivate NodoArbol getSucesor(Nodo delNodo) { NodoArbol sucerorp= delNodo; NodoArbol sucesor = delNodo; NodoArbol actual= delNodo.der; / va al hijo derecho while (actual != null) { sucesorp = sucesor; sucesor = actual; actual = actual.izq; } // if (sucesor != delNodo.der) { sucesorp.izq= sucesor.der; sucesor.der = delNodo.der; } return sucesor; } // fin getSucesor<br />Tarea, hacer la prueba de escritorio borrando los nodos del ejemplo mostrado.<br />