SlideShare una empresa de Scribd logo
1 de 4
Descargar para leer sin conexión
1 package abb;
2
3 import java.util.Scanner;
4
5 class Nodo {
6 public int valor;
7 public Nodo izq;
8 public Nodo der;
9
10 public Nodo(int _valor){
11 this.valor = _valor;
12 this.izq = null;
13 this.der = null;
14 }
15 }
16
17 public class ABB {
18
19 Nodo raiz;
20 public ABB(){
21 this.raiz=null;
22 }
23
24 public void Insertar(int _valor){
25 Nodo nuevo = new Nodo(_valor);
26 if(raiz == null)
27 raiz = nuevo;
28 else{
29 Nodo padre=null;
30 Nodo actual = raiz;
31 while(actual != null){
32 padre = actual;
33 if(actual.valor > _valor){
34 actual = actual.izq;
35 }else{
36 actual = actual.der;
37 }
38 }
39 if(padre.valor > _valor)
40 padre.izq = nuevo;
41 else
42 padre.der = nuevo;
43 }
44 }
Árbol Binario de Búsqueda
1.1 of 4 2019.01.08 15:54:58
45
46 public void Preorden(Nodo actual){
47 if(actual != null){
48 System.out.print(actual.valor+" ");
49 Preorden(actual.izq);
50 Preorden(actual.der);
51 }
52 }
53
54 public void Inorden(Nodo actual){
55 if(actual != null){
56 Inorden(actual.izq);
57 System.out.print(actual.valor+" ");
58 Inorden(actual.der);
59 }
60 }
61
62 public void Posorden(Nodo actual){
63 if(actual != null){
64 Posorden(actual.izq);
65 Posorden(actual.der);
66 System.out.print(actual.valor+" ");
67 }
68 }
69
70 public void Reemplazar(Nodo actual){
71 Nodo p = actual;
72 Nodo a = actual.izq;
73 while(a.der != null){
74 p = a;
75 a = a.der;
76 }
77 actual.valor = a.valor;
78 System.out.println(a.valor+" VALOR QUE REEMPLAZA...");
79 if(p==actual)
80 p.izq = a.izq;
81 else
82 p.der = a.izq;
83 }
84
85 public void Eliminar(int elem){
86 Nodo Padre = raiz;
87 Nodo aux = raiz;
88 boolean hijoIzq = true;
Árbol Binario de Búsqueda
2.1 of 4 2019.01.08 15:54:58
89 boolean encontrado = false;
90 while(aux != null){
91 if(aux.valor == elem){
92 encontrado = true;
93 if(aux==raiz){
94 if(raiz.izq==null)
95 raiz = raiz.der;
96 else if(raiz.der==null)
97 raiz = raiz.izq;
98 else
99 Reemplazar(raiz);
100 }else{
101 System.out.println("Encontrado...");
102 if(aux.izq == null){
103 if(hijoIzq)
104 Padre.izq=aux.der;
105 else
106 Padre.der=aux.der;
107 }else if(aux.der == null){
108 if(hijoIzq)
109 Padre.izq=aux.izq;
110 else
111 Padre.der=aux.izq;
112 }else
113 Reemplazar(aux);
114 }
115 aux=null;
116 }else{
117 Padre = aux;
118 if(aux.valor > elem){
119 aux=aux.izq;
120 hijoIzq=true;
121 }else{
122 aux=aux.der;
123 hijoIzq=false;
124 }
125 }
126 }
127 if(!encontrado)
128 System.out.println("El elemento no existe...");
129 }
130
131 public static void main(String[] args) {
132 Scanner leer = new Scanner(System.in);
Árbol Binario de Búsqueda
3.1 of 4 2019.01.08 15:54:58
133 ABB myArbol = new ABB();
134 int op, num, elim;
135 do{
136 System.out.println("Insertar [1] : ");
137 System.out.println("Preorden [2] : ");
138 System.out.println("Inorden [3] : ");
139 System.out.println("Posorden [4] : ");
140 System.out.println("Eliminar [5] : ");
141 System.out.println("Salir [0] : ");
142 op=leer.nextInt();
143 switch (op){
144 case 1: System.out.println("Ingrese elemento ");
145 num = leer.nextInt();
146 myArbol.Insertar(num);
147 break;
148 case 2: myArbol.Preorden(myArbol.raiz);
149 System.out.println("");
150 break;
151 case 3: myArbol.Inorden(myArbol.raiz);
152 System.out.println("");
153 break;
154 case 4: myArbol.Posorden(myArbol.raiz);
155 System.out.println("");
156 break;
157 case 5: System.out.println("Elemento a eliminar? : ");
158 elim = leer.nextInt();
159 myArbol.Eliminar(elim);
160 break;
161 default: break;
162 }
163 }while(op != 0);
164 }
165 }
Árbol Binario de Búsqueda
4.1 of 4 2019.01.08 15:54:58

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

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
 
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
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
 
Inserción,borrado y búsqueda en Arboles Binarios(Java)
Inserción,borrado y búsqueda en Arboles Binarios(Java)Inserción,borrado y búsqueda en Arboles Binarios(Java)
Inserción,borrado y búsqueda en Arboles Binarios(Java)
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
 
1.5 binary search tree
1.5 binary search tree1.5 binary search tree
1.5 binary search tree
 
Colas
ColasColas
Colas
 
Queue as data_structure
Queue as data_structureQueue as data_structure
Queue as data_structure
 
linked lists in data structures
linked lists in data structureslinked lists in data structures
linked lists in data structures
 
Arbol rojo y negro
Arbol rojo y negroArbol rojo y negro
Arbol rojo y negro
 
Doubly Linked List
Doubly Linked ListDoubly Linked List
Doubly Linked List
 
Tablas Hash
Tablas HashTablas Hash
Tablas Hash
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
Unidad 4 est. dat. recursividad
Unidad 4  est. dat. recursividadUnidad 4  est. dat. recursividad
Unidad 4 est. dat. recursividad
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
1.1 tipos de datos abstractos
1.1 tipos de datos abstractos1.1 tipos de datos abstractos
1.1 tipos de datos abstractos
 
Funcionamiento de un pila
Funcionamiento de un pilaFuncionamiento de un pila
Funcionamiento de un pila
 
Linked list
Linked listLinked list
Linked list
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 

Más de Franco Guamán

Estructuras de datos grafos
Estructuras de datos grafosEstructuras de datos grafos
Estructuras de datos grafosFranco Guamán
 
Abb diferencias entre c++ y java
Abb diferencias entre c++ y javaAbb diferencias entre c++ y java
Abb diferencias entre c++ y javaFranco Guamán
 
03 uni1-estructuras de datos-arreglos 2 d
03 uni1-estructuras de datos-arreglos 2 d03 uni1-estructuras de datos-arreglos 2 d
03 uni1-estructuras de datos-arreglos 2 dFranco Guamán
 
02 uni1-estructuras de datos-arreglos
02 uni1-estructuras de datos-arreglos02 uni1-estructuras de datos-arreglos
02 uni1-estructuras de datos-arreglosFranco Guamán
 
01 uni1-estructuras de datos-introduccion a las ed
01 uni1-estructuras de datos-introduccion a las ed01 uni1-estructuras de datos-introduccion a las ed
01 uni1-estructuras de datos-introduccion a las edFranco Guamán
 
Uni4 estructuras-selectivas
Uni4 estructuras-selectivasUni4 estructuras-selectivas
Uni4 estructuras-selectivasFranco Guamán
 
Uni5 estructuras-repetitivas
Uni5 estructuras-repetitivasUni5 estructuras-repetitivas
Uni5 estructuras-repetitivasFranco Guamán
 
Uni3 estructura-general-de-un-programa-cont
Uni3 estructura-general-de-un-programa-contUni3 estructura-general-de-un-programa-cont
Uni3 estructura-general-de-un-programa-contFranco Guamán
 
Estructura General de un Programa
Estructura General de un ProgramaEstructura General de un Programa
Estructura General de un ProgramaFranco Guamán
 
Fundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad IFundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad IFranco Guamán
 

Más de Franco Guamán (12)

Estructuras de datos grafos
Estructuras de datos grafosEstructuras de datos grafos
Estructuras de datos grafos
 
Abb diferencias entre c++ y java
Abb diferencias entre c++ y javaAbb diferencias entre c++ y java
Abb diferencias entre c++ y java
 
03 uni1-estructuras de datos-arreglos 2 d
03 uni1-estructuras de datos-arreglos 2 d03 uni1-estructuras de datos-arreglos 2 d
03 uni1-estructuras de datos-arreglos 2 d
 
02 uni1-estructuras de datos-arreglos
02 uni1-estructuras de datos-arreglos02 uni1-estructuras de datos-arreglos
02 uni1-estructuras de datos-arreglos
 
01 uni1-estructuras de datos-introduccion a las ed
01 uni1-estructuras de datos-introduccion a las ed01 uni1-estructuras de datos-introduccion a las ed
01 uni1-estructuras de datos-introduccion a las ed
 
Uni6 a series
Uni6 a seriesUni6 a series
Uni6 a series
 
Programacion Modular
Programacion ModularProgramacion Modular
Programacion Modular
 
Uni4 estructuras-selectivas
Uni4 estructuras-selectivasUni4 estructuras-selectivas
Uni4 estructuras-selectivas
 
Uni5 estructuras-repetitivas
Uni5 estructuras-repetitivasUni5 estructuras-repetitivas
Uni5 estructuras-repetitivas
 
Uni3 estructura-general-de-un-programa-cont
Uni3 estructura-general-de-un-programa-contUni3 estructura-general-de-un-programa-cont
Uni3 estructura-general-de-un-programa-cont
 
Estructura General de un Programa
Estructura General de un ProgramaEstructura General de un Programa
Estructura General de un Programa
 
Fundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad IFundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad I
 

Último

Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Baker Publishing Company
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIAAbelardoVelaAlbrecht1
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 

Último (20)

Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 

Arbol binario de busqueda java

  • 1. 1 package abb; 2 3 import java.util.Scanner; 4 5 class Nodo { 6 public int valor; 7 public Nodo izq; 8 public Nodo der; 9 10 public Nodo(int _valor){ 11 this.valor = _valor; 12 this.izq = null; 13 this.der = null; 14 } 15 } 16 17 public class ABB { 18 19 Nodo raiz; 20 public ABB(){ 21 this.raiz=null; 22 } 23 24 public void Insertar(int _valor){ 25 Nodo nuevo = new Nodo(_valor); 26 if(raiz == null) 27 raiz = nuevo; 28 else{ 29 Nodo padre=null; 30 Nodo actual = raiz; 31 while(actual != null){ 32 padre = actual; 33 if(actual.valor > _valor){ 34 actual = actual.izq; 35 }else{ 36 actual = actual.der; 37 } 38 } 39 if(padre.valor > _valor) 40 padre.izq = nuevo; 41 else 42 padre.der = nuevo; 43 } 44 } Árbol Binario de Búsqueda 1.1 of 4 2019.01.08 15:54:58
  • 2. 45 46 public void Preorden(Nodo actual){ 47 if(actual != null){ 48 System.out.print(actual.valor+" "); 49 Preorden(actual.izq); 50 Preorden(actual.der); 51 } 52 } 53 54 public void Inorden(Nodo actual){ 55 if(actual != null){ 56 Inorden(actual.izq); 57 System.out.print(actual.valor+" "); 58 Inorden(actual.der); 59 } 60 } 61 62 public void Posorden(Nodo actual){ 63 if(actual != null){ 64 Posorden(actual.izq); 65 Posorden(actual.der); 66 System.out.print(actual.valor+" "); 67 } 68 } 69 70 public void Reemplazar(Nodo actual){ 71 Nodo p = actual; 72 Nodo a = actual.izq; 73 while(a.der != null){ 74 p = a; 75 a = a.der; 76 } 77 actual.valor = a.valor; 78 System.out.println(a.valor+" VALOR QUE REEMPLAZA..."); 79 if(p==actual) 80 p.izq = a.izq; 81 else 82 p.der = a.izq; 83 } 84 85 public void Eliminar(int elem){ 86 Nodo Padre = raiz; 87 Nodo aux = raiz; 88 boolean hijoIzq = true; Árbol Binario de Búsqueda 2.1 of 4 2019.01.08 15:54:58
  • 3. 89 boolean encontrado = false; 90 while(aux != null){ 91 if(aux.valor == elem){ 92 encontrado = true; 93 if(aux==raiz){ 94 if(raiz.izq==null) 95 raiz = raiz.der; 96 else if(raiz.der==null) 97 raiz = raiz.izq; 98 else 99 Reemplazar(raiz); 100 }else{ 101 System.out.println("Encontrado..."); 102 if(aux.izq == null){ 103 if(hijoIzq) 104 Padre.izq=aux.der; 105 else 106 Padre.der=aux.der; 107 }else if(aux.der == null){ 108 if(hijoIzq) 109 Padre.izq=aux.izq; 110 else 111 Padre.der=aux.izq; 112 }else 113 Reemplazar(aux); 114 } 115 aux=null; 116 }else{ 117 Padre = aux; 118 if(aux.valor > elem){ 119 aux=aux.izq; 120 hijoIzq=true; 121 }else{ 122 aux=aux.der; 123 hijoIzq=false; 124 } 125 } 126 } 127 if(!encontrado) 128 System.out.println("El elemento no existe..."); 129 } 130 131 public static void main(String[] args) { 132 Scanner leer = new Scanner(System.in); Árbol Binario de Búsqueda 3.1 of 4 2019.01.08 15:54:58
  • 4. 133 ABB myArbol = new ABB(); 134 int op, num, elim; 135 do{ 136 System.out.println("Insertar [1] : "); 137 System.out.println("Preorden [2] : "); 138 System.out.println("Inorden [3] : "); 139 System.out.println("Posorden [4] : "); 140 System.out.println("Eliminar [5] : "); 141 System.out.println("Salir [0] : "); 142 op=leer.nextInt(); 143 switch (op){ 144 case 1: System.out.println("Ingrese elemento "); 145 num = leer.nextInt(); 146 myArbol.Insertar(num); 147 break; 148 case 2: myArbol.Preorden(myArbol.raiz); 149 System.out.println(""); 150 break; 151 case 3: myArbol.Inorden(myArbol.raiz); 152 System.out.println(""); 153 break; 154 case 4: myArbol.Posorden(myArbol.raiz); 155 System.out.println(""); 156 break; 157 case 5: System.out.println("Elemento a eliminar? : "); 158 elim = leer.nextInt(); 159 myArbol.Eliminar(elim); 160 break; 161 default: break; 162 } 163 }while(op != 0); 164 } 165 } Árbol Binario de Búsqueda 4.1 of 4 2019.01.08 15:54:58