Está en la página 1de 3

Nombre: Carlos Ivan Hernandez Sanchez

Class Nodo;

package arbol;

public class NewNodo {

private String INFO;


private NewNodo LigaI;
private NewNodo LigaD;

public NewNodo(){
this.INFO = null;
LigaD = null;
LigaI = null;
}

public NewNodo(String INFO, NewNodo LigaI, NewNodo LigaD) {


this.INFO = INFO;
this.LigaI = LigaI;
this.LigaD = LigaD;
}

public String getINFO() {


return INFO;
}

public void setINFO(String INFO) {


this.INFO = INFO;
}

public NewNodo getLigaI() {


return LigaI;
}

public void setLigaI(NewNodo LigaI) {


this.LigaI = LigaI;
}

public NewNodo getLigaD() {


return LigaD;
}

public void setLigaD(NewNodo LigaD) {


this.LigaD = LigaD;
}

@Override
public String toString() {
return ""+ INFO;
}

}
Class Arbol;
//Nombre: Carlos Ivan Hernandez
// GNW-PC
package arbol;

import java.util.Scanner;

public class NewArbol {

private NewNodo Raiz;


private NewNodo Q = null;
Scanner lee = new Scanner(System.in);

public NewArbol() {
String Dato;
System.out.print("Dato a ingresar: ");
Dato = lee.next().toLowerCase();
NewNodo Q = new NewNodo();
Raiz = Q;
Q.setINFO(Dato);

public void InsercionABB(NewNodo Raiz, String Dato) {


int valor = Orden(Dato.charAt(0));

int valorR = Orden(Raiz.getINFO().charAt(0));


if (valor < valorR) {
if (Raiz.getLigaI() == null) {
Q = new NewNodo();
Q.setINFO(Dato);
Q.setLigaD(null);
Q.setLigaI(null);
Raiz.setLigaI(Q);
} else {
InsercionABB(Raiz.getLigaI(), Dato);
}

} else if (valor > valorR) {


if (Raiz.getLigaD() == null) {
Q = new NewNodo();
Q.setLigaI(null);
Q.setLigaD(null);
Q.setINFO(Dato);
Raiz.setLigaD(Q);
} else {
InsercionABB(Raiz.getLigaD(), Dato);
}
} else {
System.out.println("El Nodo ya se encuentra");
}
}

public void RecorrePre(NewNodo Raiz) {


System.out.print(Raiz + " ");
if (Raiz.getLigaI() != null) {
RecorrePre(Raiz.getLigaI());
}
if (Raiz.getLigaD() != null) {
RecorrePre(Raiz.getLigaD());
}

public void RecorrePost(NewNodo Raiz) {


if (Raiz.getLigaI() != null) {
RecorrePost(Raiz.getLigaI());
}
if (Raiz.getLigaD() != null) {
RecorrePost(Raiz.getLigaD());
}
System.out.print(Raiz + " ");
}
public void RecorreIn(NewNodo Raiz) {

if (Raiz.getLigaI() != null) {
RecorreIn(Raiz.getLigaI());
}
System.out.print(Raiz + " ");
if (Raiz.getLigaD() != null) {
RecorreIn(Raiz.getLigaD());
}

public static void main(String[] args) {


Scanner lee = new Scanner(System.in);
NewArbol ab = new NewArbol();
String Dato;
System.out.print("Dato a ingresar: ");
Dato = lee.next().toLowerCase();
ab.InsercionABB(ab.Raiz, Dato);
System.out.print("Dato a ingresar: ");
Dato = lee.next().toLowerCase();
ab.InsercionABB(ab.Raiz, Dato);
System.out.print("Dato a ingresar: ");
Dato = lee.next().toLowerCase();
System.out.print("Dato a ingresar: ");
ab.InsercionABB(ab.Raiz, Dato);
Dato = lee.next().toLowerCase();
ab.InsercionABB(ab.Raiz, Dato);
System.out.print("Dato a ingresar: ");
Dato = lee.next().toLowerCase();
ab.InsercionABB(ab.Raiz, Dato);;
System.out.println(" \n");
ab.RecorreIn(ab.Raiz);
System.out.println(" \n");
ab.RecorrePre(ab.Raiz);
System.out.println(" \n");
ab.RecorrePost(ab.Raiz);
}

public static int Orden(char dato){

switch(dato){
case 'a':
return 1;
case 'b':
return 2;
case 'c':
return 3;
case 'd':
return 4;
case 'e':
return 5;
case 'f':
return 6;
}
return 0;
}
}

También podría gustarte