Foro de elhacker.net

Informática => Software => Mensaje iniciado por: EASoft en 21 Agosto 2019, 15:03 pm



Título: Insertar nodo en Arbol Generico
Publicado por: EASoft en 21 Agosto 2019, 15:03 pm
Buenas, tengo una duda existencial, y al no encontrar mucho material en la web decidí preguntar por acá.
El tema es el siguiente:

Tengo la necesidad de insertar elementos/nodos en un arbol generico, donde separo por un lado una clase arbol, y una clase nodo. Mi problema se da en que cuando ingreso muchos nodos iguales con el mismo padre, la pila se me va de tema. (StackOverFlow). Mi codigo es el siguiente.

 /**
     * Inserta un nuevo nodo en el arbol si tiene padre o si es raiz.
     *Metodo de arbol
     * @param unaEtiqueta
     * @param etiquetaPadre
     * @return
     */
    public boolean insertar(TNodoArbolGenerico nuevoNodo, String etiquetaPadre) {
        if (esVacio() || etiquetaPadre.equals("")) {
            nuevoNodo.setPrimerHijo(raiz);
            raiz = nuevoNodo;
            return true;
        } else {
            TNodoArbolGenerico elPadre = raiz.buscar(etiquetaPadre);
            return raiz.insertar(nuevoNodo);
        }
    }

//Metodo de nodo que es llamado desde el metodo de arbol.
    public boolean insertar(TNodoArbolGenerico nodo) {
        if (this.primerHijo.etiqueta != nodo.etiqueta) {
            nodo.hermanoDer = this.primerHijo;
            this.primerHijo = nodo;
            return true;
        }
        return false;
    }





public boolean insertar(TNodoArbolGenerico nodo) {
        if(this.primerHijo!=null){
                if (this.primerHijo.etiqueta != nodo.etiqueta) {
                    nodo.hermanoDer = this.primerHijo;
                    this.primerHijo = nodo;
                    return true;
                }
        else{
              this.primerHijo = nodo;
              return true;
       }
        return false;
    }


Ahi cambie un poco el metodo de insertar del nodo.


[MOD] No hacer doble post, usar el botón "modificar" para añadir comentarios.