MyLeoNes™

Recursión — Informática, 14–17 años

Cómo resolver un problema creando una versión más pequeña del mismo problema, con un punto claro en el que el proceso termina.

Idea

La recursión ocurre cuando una función resuelve una tarea llamándose a sí misma con una entrada más pequeña o sencilla. También necesita un caso base: una situación lo bastante simple para responder directamente. Cada llamada se acerca a ese caso, como abrir una caja más pequeña dentro de otra hasta llegar a la última.

Por qué importa

Algunos problemas contienen copias más pequeñas de sí mismos. Las carpetas contienen carpetas, los árboles familiares tienen ramas y un laberinto puede contener secciones menores que explorar. La recursión describe estas formas de manera natural, porque reutiliza las mismas instrucciones en vez de escribir código para cada profundidad posible.

Ejemplo resuelto

Para calcular 4 factorial, definimos fact(1)=1 como caso base. Después, fact(4)=4×fact(3), fact(3)=3×fact(2) y fact(2)=2×fact(1). Sustituyendo de abajo arriba obtenemos 2×1=2, 3×2=6 y 4×6=24; por tanto, 4!=24.

Error habitual

Un error razonable es escribir primero la llamada a la propia función y olvidar el caso base o el paso que lleva hasta él. Entonces el código sigue llamándose sin fin, porque el ordenador no puede adivinar cuándo termina la tarea. Incluso con un caso base, un paso incorrecto puede hacer que la entrada crezca en vez de disminuir.

Dónde aparece

Los navegadores, las herramientas de archivos y los sistemas de búsqueda suelen explorar carpetas anidadas o páginas enlazadas usando ideas recursivas. El software de imágenes también puede procesar una imagen dividiéndola en regiones pequeñas y volviendo a dividirlas. La recursión resulta útil porque la misma acción se aplica en cada nivel hasta que una región es suficientemente pequeña.

Sigue explorando

Otros idiomas

Cargando MyLeoNes™…