elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Recorrer árbol en Java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Recorrer árbol en Java  (Leído 21,410 veces)
BeyBey

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Recorrer árbol en Java
« en: 28 Julio 2004, 20:23 pm »

Hola a todos y ante todo muchas gracias. Estoy empezando con Java y tengo un problema. El caso es que soy capaz de recorrer un árbol mediante recursividad, mi problema surge cuando en lugar de mostrar el elemento por pantalla, quiero que la funcion lo devuelva. Por ejemplo:

public int preorden(Rama nodo)
{
        int i;
        if (nodo == null)
            return 0;
       
        return nodo.elemento;       
        preorden(nodo.izq);
        preorden(nodo.der);
}

Obviamente no va a funcionar, pero necesito devolver dichos elementos y ademas que los devuelva a partir de la raiz. ¿Cómo lo hago?
Muchas gracias a todos.


En línea

Ragnarok
Colaborador
***
Desconectado Desconectado

Mensajes: 4.590


Shrödingerificado


Ver Perfil
Re: Recorrer árbol en Java
« Respuesta #1 en: 28 Julio 2004, 23:26 pm »

Acostumbrate a poner el código entre las etiquetas de código. A parte de eso la función es bastante interesante, de todas formas si es en java debe ser un método de una clase, puedes declarar un atributo privado de esa clase en el que se almacenen los nodos, simplemente los vas insertando hasta que termines, puedes recorrer el arbol de forma ordenada para insertar los elementos ordenadamente. Sería algo así:

Código:
private int recorre(Rama nodo) {
        if (nodo == null)
            return 0;

        recorre(nodo.izq);
        lista.insertar (nodo.elemento);       
        recorre(nodo.der);
}

Por supuesto tendrías que hacer otro método para que imprima la lista, sería algo así:

Código:
public int preorden (Rama nodo){
   recorre(nodo);
   lista.mostrar();
   return 0;
}

Puede ayudarte si lees algo acerca de bactracking y si encuentras el código del TreeMap de java, si lo encuentras dime donde está porque llevo varios días buscándolo y no lo consigo.

PD: no te acostumbres a que te respondamos con código, en este caso me resultaba más rápido, pero es 1 de cada 1000.


« Última modificación: 28 Julio 2004, 23:29 pm por Ragnarok » En línea

No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones
BeyBey

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Recorrer árbol en Java
« Respuesta #2 en: 28 Julio 2004, 23:37 pm »

Muchisimas gracias, creo que me va a ser de gran utilidad.
Lo siento por mis errores en el foro pero es que soy novata  :-[, lo apuntaré para otras intervenciones. De nuevo muchas gracias.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda implementar arbol trie en java
Java
Cooltan 1 6,574 Último mensaje 3 Abril 2011, 05:20 am
por Tryptophan
Duda:Arbol genealogico en java
Java
Mioshi 4 9,833 Último mensaje 30 Noviembre 2011, 20:08 pm
por Mioshi
Recorrer un Arreglo en Java (Buscar String)
Java
NatzMorel 1 4,413 Último mensaje 14 Junio 2012, 11:31 am
por ollo
Arbol ABB java
Java
ditou 1 3,301 Último mensaje 15 Noviembre 2013, 07:39 am
por ditou
Recorrer y sustituir en matriz JAVA
Java
Tonyskater 7 5,627 Último mensaje 2 Mayo 2017, 00:56 am
por 3n31ch
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines