Recursividad en Java

Practica

Tres ejercicios para hacer con las manos. Aqui no hay nada que leer de corrido: se aprende equivocandose.

1. Tu eres la maquina virtual

Este es el ejercicio que mas ensena. En vez de mirar como se mueve la pila, la mueves tu: en cada turno decides si el programa apila una llamada, devuelve un valor o imprime algo. Si te equivocas, te dice por que.

Empieza por cuenta(3) y sube hasta fib(4).

2. Arma el metodo

Tienes el esqueleto de un metodo recursivo con tres huecos. Elige una pieza para cada uno y dale a probar: el codigo se ejecuta de verdad.

Prueba a proposito las combinaciones malas. Vas a ver que hay dos formas muy distintas de fallar, y confundirlas es el origen de casi todos los bugs de recursion: dar el resultado equivocado, o no terminar nunca.

3. Torres de Hanoi

Juegalo primero a mano con 3 discos. Despues sube a 5 y vas a sentir en los dedos por que el problema crece de forma exponencial.

Cuando te canses, dale al boton para que lo resuelva la recursion y fijate en el patron: mover la torre de arriba, mover el disco grande, traer la torre de vuelta. Tres pasos, tres lineas de codigo.