Crear un árbol con datos leídos desde el teclado

Quiero crear un árbol donde inserte los valores desde el teclado y este los meta en el árbol pero de acuerdo a la regla de que los hijos derechos son mayores que el padre
Y los hijos izquierdos
Son menores que el padre.

1 Respuesta

Respuesta
1
Lo que no tienes es el árbol, o lo que no sabes es como meterlos desde el teclado
Si se como meter datos desde el teclado,
lo que no se es como hacer que este sea hijo derecho
o izquierdo, es decir que el dato que yo meta se
compare con la raíz y si es mayor se vaya para la derecha
o viceversa, y si la raíz a su vez tiene hijos se compare con ellos
y así sucesivamente
mmm bueno lo que tenes que usar son metodos recursivos, para que se vaya el algoritmo solito hasta que sea null por ponerte un ejemplo. entonces digamos que el algoritmo siempre va a ser el mismo de la siguiente formula
public void insertar(int dato){ 
        if(raiz==null){ 
            raiz =  new Nodo(dato); 
        } 
        else{ 
            insertar(raiz,dato); 
        } 
    } 
    private void insertar(Nodo rz, int dato){ 
        if (rz == null) 
            rz = new Nodo(nm); 
        else if(dato < rz.dato) 
            insertar(rz.izqda,dato); 
        else if(dato > rz.dato) 
            insertar(rz.dato,dato); 
        else 
            System.out.println("Numero Duplicados"); 
    }
Si te das cuenta solo se recorriendo el árbol, ahora vos pedís el numero y llamas a este método insertar y ya. El árbol se va generando
Y como lo puedo hacer con un
Vector de 10 elementos...
Si no es mucho pedir
=D
Con un vector osea que no lo estas implementando en nodos ni con memoria dinámica, bueno el vector lo que usa es una fórmula, que si mal no recuerdo es
hijo izquierdo = n*2
hijo derecho = n* 2 + 1
Donde n va de 1 hasta k
Lo único que tienen que ser arboles completos, esto quiere decir que se van llenando igual de los dos lados, aunque bien podes ir guardando al que para vos te represente vacío

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas