Buenas,
Yo sigo a lo mio y cada vez veo un problema nuevo... Os cuento:
Como se realiza la recursividad en java?
Me explico con un ejemplo general:
---------------------------------------
Fun ejemplo(a)
If (caso_base){
return trivial
}
else{
s1 = ejemplo(b);
s2 = ejemplo(c);
s = otra_funcion(s1,s2);
return s
}
----------------------------------------
Con esto, lo que sucede es:
1 - Llamada inicial a ejemplo(a) --> Entra en ejemplo(b).
2 - En ejemplo(b) --> entra en un ejemplo(d).
3 - En ejemplo(d) llega a caso base y devuelve trivial --> sale de ejemplo(d) y continua secuencialmente con ejemplo(c).
En este punto y al salir del ejemplo(d) debería volver a ejemplo(b) y una vez terminado en este, volver a ejemplo(a).
Una vez terminado todo esto, comenzaría con la siguiente rama de la recursión que sería similar...
En conclusión: Entiendo que al llegar al caso trivial de una rama recursiva, no hace la vuelta en la pila de llamadas...
Como puedo indicar a Java(Eclipse), que una vez llegado al caso base, este recorra la pilla de llamadas de la recursividad en sentido contrario hasta llegar a la llamada inicial??
Espero haberme explicado bien. Cualquier duda no dudéis en hacermela y, como siempre, perdonad las molestias...
Un saludo.