Professional Documents
Culture Documents
Alumnos:
Maykel Ramírez C.I .16.027.309
Alejandro Estrada C.I .19.396.690
Resumen
La recursividad (recursión) 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.
Definición de Recursividad
Un procedimiento o función se dice recursivo si durante su ejecución se invoca
invoca
directa o indirectamente asimismo. Esta invocación depende al menos de una
condición que actúa como condición de corte que provoca la finalización de la
recursión.
fibonaci(1) = 1;
fibonaci(2) = 1;
fibonaci(3) = fibonaci(2) + fibonaci(1);
fibonaci(4) = fibonaci(3) + fibonaci(2);
Ámbito de aplicación
• General.
• Soluciones elegantes.
Ventajas:
Ventajas:
• No es necesario definir la secuencia de pasos exacta para resolver el problema.
• Soluciones elegantes.
Desventajas:
– 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)
• ¿La claridad compensa la sobrecarga?
• 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.
2. Un conjunto de pasos adicionales. Estos pasos junto con las soluciones a los
subproblemas componen la solución al problema general que queremos
resolver.
Ejemplo 1
Realizar el algoritmo de la función factorial.
La implementación de la función recursiva factorial es:
Ejemplo 2
Contar valores de 1 a 10 de modo recursivo.
#include <stdio.h>
void contar (int cima);
int main()
{
contar(10);
return O;
}
void contar (int cima)
{
if (cima > 1)
contar (cima-1);
printf (“%d ”,
”, cima) ;
}
ANEXOS