Algoritmos recursivos

Solo disponible en BuenasTareas
  • Páginas : 3 (514 palabras )
  • Descarga(s) : 0
  • Publicado : 4 de noviembre de 2010
Leer documento completo
Vista previa del texto
Algoritmo Recursivo
Un algoritmo recursivo es un algoritmo que se define en términos de sí mismo. Son implementados en forma de subrutinas (funciones, procedimientos, subprogramas, etc) de talforma que dentro de un subrutina recursiva hay una o más llamadas a sí misma.
Algunos ejemplos de recurrencia:

* En un texto: Para saber qué es la recurrencia, primero hay que saber qué es larecurrencia.
* En un acrónimo: ¿Qué es GNU? -> GNU No es Unix
¿Qué es PHP? -> PHP: Hipertext Preprocessor
* En matemáticas: f(x) = x * f(x-1)
* En un algoritmo:

FUNCIÓN Factorial(n)INICIO
SI (n Subrutina_B --> Subrutina_A
Subrutina_A --> Subrutina_B --> Subrutina_C --> Subrutina_D --> Subrutina_A

Algoritmos Recursivos Aplicados en las Ciencias de la Computación
En cienciasde la computación, la recursividad es un elemento muy importante en la solución de algunos problemas. Por definición, un algoritmo recursivo es aquel que utiliza una parte de él mismo como solución alproblema. La otra parte generalmente es la solución trivial, es decir, aquella cuya solución será siempre conocida, es muy fácil de calcular, o es parte de la definición del problema a resolver. Dichasolución sirve como referencia y además permite que el algoritmo tenga una cantidad finita de pasos.
La implementación de estos algoritmos se realiza generalmente en conjunto con una estructura dedatos, la pila, en la cual se van almacenando los resultados parciales de cada recursión.
A manera de ejemplo (típico en la enseñanza de este tema) es el cálculo de factorial de manera recursiva.
Sepuede definir el factorial de un número entero positivo x como sigue:
x!=x*(x-1)*(x-2)...*3*2*1
donde ! indica la operación unaria de factorial.
Definimos, además:
1!=1 0!=1
Sin embargo, podemosobservar que la definición del factorial de un número x, puede expresarse, a su vez, a través del factorial de otro número:
x!=x*(x-1)!
Es decir, para conocer el factorial de x basta con conocer...
tracking img