CODIGO DE ARBOLES

 class Nodo {

    int valor;

    Nodo izquierdo;

    Nodo derecho;


    public Nodo(int item) {

        valor = item;

        izquierdo = derecho = null;

    }

}


class Arbol {

    Nodo raiz;


    public Arbol() {

        raiz = null;

    }


    // Método para insertar un nuevo nodo en el árbol

    public void insertar(int valor) {

        raiz = insertarNodo(raiz, valor);

    }


    // Método auxiliar recursivo para insertar un nuevo nodo

    private Nodo insertarNodo(Nodo nodo, int valor) {

        if (nodo == null) {

            nodo = new Nodo(valor);

            return nodo;

        }


        if (valor < nodo.valor)

            nodo.izquierdo = insertarNodo(nodo.izquierdo, valor);

        else if (valor > nodo.valor)

            nodo.derecho = insertarNodo(nodo.derecho, valor);


        return nodo;

    }


    // Método para realizar un recorrido en orden del árbol (izquierda, raíz, derecha)

    public void inOrden(Nodo nodo) {

        if (nodo != null) {

            inOrden(nodo.izquierdo);

            System.out.print(nodo.valor + " ");

            inOrden(nodo.derecho);

        }

    }

}


public class Main {

    public static void main(String[] args) {

        Arbol arbol = new Arbol();

        arbol.insertar(50);

        arbol.insertar(30);

        arbol.insertar(70);

        arbol.insertar(20);

        arbol.insertar(40);

        arbol.insertar(60);

        arbol.insertar(80);


        System.out.println("Recorrido en orden del árbol:");

        arbol.inOrden(arbol.raiz);

    }

}


Comentarios