¿Qué es la recursividad?

La recursión en informática se refiere a un método de resolver problemas dividiéndolos repetidamente en subproblemas similares. Los métodos recursivos se pueden utilizar para resolver muchos problemas informáticos, por lo que es un concepto muy importante en informática.

La mayoría de los lenguajes de programación admiten la autollamada de funciones. En estos lenguajes, las funciones pueden realizar recursividad llamándose a sí mismas. La teoría computacional puede demostrar que la recursividad puede reemplazar completamente los bucles, por lo que es habitual utilizar la recursividad para implementar bucles en muchos lenguajes de programación funcionales. En los lenguajes de programación que admiten la autoinvocación, la recursividad se puede lograr con una simple llamada a función. La recursividad de cola significa que la función recursiva devuelve directamente su valor después de llamarse a sí misma sin realizar ninguna operación adicional sobre ella. La recursividad de cola es equivalente a un bucle y, en algunos idiomas, se puede optimizar en una instrucción de bucle. Por lo tanto, la recursividad de cola no ocupa espacio en la pila de llamadas en estos lenguajes.