1R P2 Actividad 2 Su4
1R P2 Actividad 2 Su4
1R P2 Actividad 2 Su4
TERCER SEMESTRE
P2 ACTIVIDAD 2 SU4
INTEGRANTES:
package arbol;
import javax.swing.JOptionPane;
/**
* @author 7249
*/
/**
*/
String nombre;
do {
try {
opcion = Integer.parseInt(JOptionPane.showInputDialog(null,
+ "7.Salir\n"
JOptionPane.QUESTION_MESSAGE));
switch (opcion) {
case 1:
elemento = Integer.parseInt(JOptionPane.showInputDialog(null,
JOptionPane.QUESTION_MESSAGE));
arbolito.agregarNodo(elemento, nombre);
break;
case 2:
if (!arbolito.estaVacío()) {
System.out.println();
arbolito.inOrden(arbolito.raíz);
} else {
break;
case 3:
if (!arbolito.estaVacío()) {
System.out.println();
arbolito.preOrden(arbolito.raíz);
} else {
break;
case 4:
if (!arbolito.estaVacío()) {
System.out.println();
arbolito.postOrden(arbolito.raíz);
} else {
break;
case 5:
if (!arbolito.estaVacío()) {
elemento = Integer.parseInt(JOptionPane.showInputDialog(null,
JOptionPane.QUESTION_MESSAGE));
if (arbolito.buscarNodo(elemento) == null) {
} else {
System.out.println("Nodo Encontrado, su nombre del dato es: "
+ arbolito.buscarNodo(elemento));
} else {
break;
case 6:
if (!arbolito.estaVacío()) {
elemento = Integer.parseInt(JOptionPane.showInputDialog(null,
JOptionPane.QUESTION_MESSAGE));
if (arbolito.eliminar(elemento) == false) {
} else {
break;
case 7:
break;
default:
} catch (NumberFormatException n) {
JOptionPane.showInternalMessageDialog(null, "Error" +
n.getMessage());
// BUSCAR NODO
while(aux.dato!=d){
if (d< aux.dato){
aux=aux.hijoIzquierdo;
}else {
aux=aux.hijoDerecho;
}
if(aux==null){
return null;
return aux;
NodoArbol auxiliar=raíz;
boolean esHijoIzq=true;
while(auxiliar.dato!=d){
padre=auxiliar;
if(d<auxiliar.dato){
esHijoIzq=true;
auxiliar=auxiliar.hijoIzquierdo;
}else {
esHijoIzq= false;
auxiliar=auxiliar.hijoDerecho;
if(auxiliar==null){
return false;
if (auxiliar== raíz){
raíz = null;
}else if(esHijoIzq) {
padre.hijoIzquierdo=null;
}else{
padre.hijoDerecho=null;
}else if (auxiliar.hijoDerecho==null){
if (auxiliar== raíz){
raíz = auxiliar.hijoIzquierdo;
}else if(esHijoIzq) {
padre.hijoIzquierdo=auxiliar.hijoIzquierdo;
}else{
padre.hijoDerecho=auxiliar.hijoIzquierdo;
if (auxiliar== raíz){
raíz = auxiliar.hijoDerecho;
}else if(esHijoIzq) {
padre.hijoIzquierdo=auxiliar.hijoDerecho;
}else{
padre.hijoDerecho=auxiliar.hijoIzquierdo;
}else {
if (auxiliar == raíz ){
raíz = reemplazo;
} else if (esHijoIzq){
padre.hijoIzquierdo=reemplazo;
}else {
padre.hijoDerecho= reemplazo;
reemplazo.hijoIzquierdo= auxiliar.hijoIzquierdo;
return true;
NodoArbol reemplazo=nodoReemp;
while(auxiliar != null){
reemplazarPadre=reemplazo;
reemplazo=auxiliar;
auxiliar=auxiliar.hijoIzquierdo;
if (reemplazo!=nodoReemp.hijoDerecho){
reemplazarPadre.hijoIzquierdo= reemplazo.hijoDerecho;
reemplazo.hijoDerecho=nodoReemp.hijoDerecho;
return reemplazo;
Nodo árbol
package arbol;
/**
* @author 7249
*/
int dato;
String nombre;
this.dato =d;
this.nombre=nom;
this.hijoIzquierdo= null;
this.hijoDerecho=null;
}
Este programa llamado árbol es conformado por sus dos clases que es el
árbolbinario y el nodoárbol los cuales se mostraron en las paginas anteriores.