Por @Alvy — 5 de enero de 2025

El libro recursivo de la recursividad

Este curioso libro llamado The Recursive Book of Recursion, de apropiado título y no menos apropiada portada con efecto droste, parece una estupenda guía sobre todo lo relacionado con la recursividad en algoritmos y programación.

Para los principiantes, la recursividad se refiere a técnicas en las que funciones, rutinas o programas «se llaman a sí mismos» para obtener un resultado.

Un ejemplo fácil de entender aunque no especialmente brillante –porque hay formas mejores de hacerlo– sería calcular el factorial de un número entero, denotado como n! Como el resultado es la multiplicación de todos los números enteros entre 1 y n (o de n a 1, que es lo mismo) basta definir una función que calcule el resultado de multiplicar n por el factorial de (n-1). Esa función se «llamará a sí misma» cuantas veces haga falta hasta devolver el resultado final (primero multiplicando n-1 por el cálculo del factorial de n-2, etcétera). Normalmente hay que incluir casos especiales para finalizarlo, por ejemplo si n<2, en cuyo caso el resultado es 1 y se termina el cálculo.

En vez de para algo sencillo como este ejemplo matemático puede utilizarse un algoritmo recursivo para recorrer puntos de una ruta en un mapa, de archivos en directorios-dentro-de-directorios y cosas así.

Según el índice, el libro incluye:

  • Fundamentos y principios de la recursión, incluyendo las diferencias entre recursión e iteración.
  • Algoritmos clásicos que suelen aparecer en entrevistas de trabajo de programación, como el backtracking, el «divide-y-vencerás» y similares.
  • Técnicas de optimización de algoritmos recursivos.
  • Aplicaciones prácticas de la recursión en proyectos, desde recorrer directorios y archivos a la creación de fractales y laberintos.
  • Ejemplos completos y prácticos en Python y JavaScript.

Se puede comprar como eBook directamente de la editorial No Starch Press o a través de Amazon en Kindle o papel. También se puede leer gratis en la misma web.

_____
Nota para tiquismiquis sobre si se dice «recursivo», «recursión», «recursividad» o «recurrencia». Cada concepto lo define el diccionario de la RAE de forma diferente, y curiosamente no todas las acepciones están relacionadas o enlazadas. Aquí me quedo con la definición de recursivo, acepción 2: «que se aplica de nuevo al resultado de haberlo aplicado previamente».

Relacionado:

Compartir en Flipboard Publicar / Tuitear Publicar