CÓDIGO DE ÁRBOL 
Clase Nodo
public class Nodo {
    int dato;
    Nodo hijoIzquierdo;
    Nodo hijoDerecho;
    String nombre;
    
    public Nodo(int dato,String nombre){
    this.dato=dato;
    this.nombre=nombre;
    hijoIzquierdo=hijoDerecho=null;        
}
    public int getDato() {
        return dato;
    }
    public void setDato(int dato) {
        this.dato = dato;
    }
    public Nodo getHijoIzquierdo() {
        return hijoIzquierdo;
    }
    public void setHijoIzquierdo(Nodo hijoIzquierdo) {
        this.hijoIzquierdo = hijoIzquierdo;
    }
    public Nodo getHijoDerecho() {
        return hijoDerecho;
    }
    public void setHijoDerecho(Nodo hijoDerecho) {
        this.hijoDerecho = hijoDerecho;
    }
    public String getNombre() {
        return nombre;
    }
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
   
    
}
Clase Árbol
public class Arbol {
    Nodo raiz;
  
    public Arbol(){
        
        raiz=null;
    }
    public boolean estaVacio(){
        return raiz==null;
    }
    //MEOTDO PARA INSERTAR UN NODO EN EL ARBOL
    public void agregar(int dato,String nombre){
        Nodo nuevo=new Nodo(dato,nombre);
        if(raiz==null){
            raiz=nuevo;
        }else{
            Nodo temp=raiz;
            Nodo padre;
            while(true){
                padre=temp;
                if(dato
Test Árbol 
public class TestArbol { public static void main(String[] args) { Arbol a=new Arbol(); int elemento=0; a.agregar(5, "Juan"); a.agregar(3, "Manuel"); a.agregar(7, "Jose"); a.agregar(2, "Ana"); a.agregar(4,"Luisa"); a.agregar(8,"Miguel"); a.preOrden(a.raiz); a.inOrden(a.raiz); a.buscarNodo(elemento); } }
 



