ventajas tutorial recursivos recursividad procedimientos potencia memoria manejo indirecta desventajas definicion con java recursion

tutorial - recursividad y el manejo de memoria en java



recursiĆ³n en java (1)

fib(3) llama fib(2) . Cuando llamas a fib(2) , se llama fib(i-1) y fib(i-2) , es decir, fib(1) y fib(0) .

Dado este método, llame a:

public class MainClass { public static void main(String[] args) { System.out.println(fib(3)); } private static int fib(int i) { System.out.println("Into fib with i = " + i); if (i < 2) { System.out.println("We got here"); return i; } return fib(i-1) + fib(i-2); } }

Esperaba:

* fib(i-1) to return 2 * fib(i-2) to return 1 * return 2 + 1 to return 3

Resultado:

2

Esta es la salida de la consola:

Into fib with i = 3 Into fib with i = 2 Into fib with i = 1 We got here Into fib with i = 0 We got here

Entiendo todo hasta esta parte:

Into fib with i = 0

¿Cuándo podría haber estado alguna vez 0?