Está en la página 1de 8

Estructuras de Control

(Recursividad)

Profesor Francisco Alejandro Medina A


Recursividad
• La recursividad es una técnica de programación elemental que
permite que una función pueda llamarse asimismo desde la misma
función. Se puede utilizar la recursividad como una alternativa a la
iteración. La recursividad es una herramienta poderosa e
importante en la resolución de problemas en programación. Una
solución recursiva es normalmente menos eficiente en términos
de tiempo de computadora que una solución iterativa debido a las
operaciones auxiliares que llevan consigo las llamadas
suplementarias a las funciones: sin embargo, en muchas
circunstancias el uso de la recursión permite a los programadores
especificar las soluciones naturales, más lógicas, elegantes,
sencillas, que serían, en caso contrario difícil de resolver.
Principios de la recursividad
• La recursividad es una de las formas de control más importantes en la
programación. Los procedimientos recursivos son la forma más natural de
representación de muchos algoritmos.

• El concepto de recursividad está ligado, en los lenguajes de programación, al


concepto de procedimiento o función. Un procedimiento o función es recursivo
cuando durante una invocación a él puede ser invocado a su vez él mismo.
 
• El conocimiento de los principios fundamentales de la recursividad evita evadir su
utilización cuando su aplicación sea conveniente para un determinado problema.
 
• El uso de la recursividad es particularmente conveniente para aquellos problemas
que pueden definirse de modo natural en términos de recursividad.
Ventajas de la Recursividad
• No es necesario definir la secuencia de pasos
exacta para resolver el problema.
• Soluciones simples, claras.
• Soluciones elegantes.
• Soluciones a problemas complejos.
Desventajas de la Recursividad
• Podría ser menos eficiente.
• Sobrecarga asociada con las llamadas a subalgoritmos
• Una simple llamada puede generar un gran número de
llamadas Recursivas. (Fact(n) genera n llamadas
recursivas)
• El valor de la recursividad reside en el hecho de que se
puede usar para resolver problemas sin fácil solución
iterativa.
• La ineficiencia inherente de algunos algoritmos
recursivos.
Ejemplo 1
Ejemplo 2
Ejemplo 3

También podría gustarte