miércoles 9 de septiembre · 13:00–14:15 · hace 42 días
Origen de las notas: Tú (app)
CN122 · miércoles 09/09/2026 · 13:00-14:15 · Sesión 10
Recursión y su relación con la pila · Torres de Hanói
Una función recursiva se llama a sí misma con un problema más pequeño. Necesita dos cosas y ninguna es opcional: un caso base que la detiene y un paso recursivo que se acerca al caso base.
Cada llamada crea un marco en la pila del programa con sus parámetros, sus variables locales y la dirección de retorno. La recursión no es magia: es la pila del sistema haciendo el trabajo que harías a mano.
Por eso la recursión sin caso base produce desbordamiento de pila, y por eso una recursión muy profunda puede fallar aunque sea correcta.
Mover n discos de A a C usando B, sin poner nunca un disco grande sobre uno pequeño.
La solución completa cabe en tres líneas y es prácticamente imposible de escribir iterativamente sin simular una pila. Es el mejor argumento a favor de la recursión.
T(n) = 2T(n−1) + 1, cuya solución es 2ⁿ − 1 movimientos. Con 64 discos y un movimiento por segundo tomaría más de quinientos mil millones de años. La recursión es elegante, no barata.
Si la llamada recursiva es la última operación, algunos compiladores la convierten en un ciclo y eliminan el crecimiento de la pila. En C con optimización activada suele ocurrir, pero no está garantizado por el estándar.
Hanói con impresión de movimientos y conteo; factorial y Fibonacci recursivo e iterativo, comparando tiempos.
Edita aquí con aspecto de Word. Guardar en Word escribe el .docx en tu carpeta del semestre. Ctrl+S guarda directo al archivo.
Nada anotado en esta sesión todavía.