Este documento explica la recursividad, que es una técnica de programación donde una función se llama a sí misma de forma directa o indirecta hasta alcanzar un caso base. Se compone de un caso base simple y casos recursivos que se acercan a él, permitiendo reutilizar código de manera potente. La recursividad modela bien problemas y estructuras de datos recursivas, ofreciendo soluciones estructuradas y simples.