Recursion

Solo disponible en BuenasTareas
  • Páginas : 8 (1911 palabras )
  • Descarga(s) : 0
  • Publicado : 9 de diciembre de 2010
Leer documento completo
Vista previa del texto
Recursión
Anuncio de cacao con una imagen recursiva. La mujer muestra un paquete idéntico al del propio anuncio, conteniendo así a otra mujer que muestra otro paquete más pequeño, de forma recursiva.
Imagen recursiva formada por un triángulo. Cada triángulo está compuesto de otros más pequeños, compuestos a su vez de la misma estructura recursiva.
Recurrencia, Recursión (incorrecto encastellano) o recursividad es la forma en la cual se especifica un proceso basado en su propia definición. Siendo un poco más precisos, y para evitar el aparente círculo sin fin en esta definición:
Un problema que pueda ser definido en función de su tamaño, sea este N, pueda ser dividido en instancias más pequeñas (< N) del mismo problema y se conozca la solución explícita a las instancias mássimples, lo que se conoce como casos base, se puede aplicar inducción sobre las llamadas más pequeñas y suponer que estas quedan resueltas.
Introducción.
Un procedimiento o función recursiva es aquella que se llama así misma. Esta característica permite a un procedimiento recursivo repetirse valores diferentes de parámetros. La recursion es una alternativa a la iteración muy elegante en la solución deproblemas, especialmente si estos tienen naturaleza recursiva.
Normalmente, una solución recursiva es menos eficiente en términos de tiempo de computadora que una solución iterativa debido al tiempo adicional de llamada a procedimientos.
En muchos casos, la recursion permite especificar una solución mas simple y natural para resolver un problema que en otro caso seria difícil. Por esta razónla recursion (recursividad) es una herramienta muy potente para la resolución de problemas de programación.
Un objeto recursivo es aquel que forma parte de si mismo. Esta idea puede servir de ayuda para la definición de conceptos matematicos. Asi, la definición del conjunto de los numeros naturles es aque conjunto en el que se cumplen las siguientes caracteristicas:
· 0 es un numero natural.· El siguiente numero de un numero natural es otro numero natural.
Mediante una definición finita hemos representado un conjunto infinito.
El concepto de la recursividad es muy importante en programación. La recursividad es una herramienta muy eficaz para resolver diversos tipos de problemas existen muchos algoritmos que se describiran mejor en terminos recursivos.
Dentro de la teoría de larecursión, se tiene que existen diferentes tipos de recursión:
4.3.1.- Recursión directa. Cuando el código F tiene una sentencia que involucra a F.
4.3.2.- Recursión indirecta o cruzada.- Cuando la función F involucra una función G que invoca a la ves una función H, y así sucesivamente, hasta que se involucra la función F. Por ejemplo el algoritmo de Par o impar.
int par(int n)

{ if (n==0) return n+1;

return impar(n-1);

int impar(int n)

if (n==0) return 0;

return par(n-1);
}
A continuación se expone otro ejemplo de programa que utiliza recursión indirecta,y nos dice si un número es par o impar. Cabe mencionar que existen otros métodos mucho más sencillos para determinar la solución a este problema, basta con determinar el resto de la división entre dos. Por ejemplo: si hacemos par(2) devuelve 1 (cierto). Si hacemos impar(4) devuelve 0 (falso).
int par(int n);
int impar(int n);int par(int n)
{ if (n == 0) return 1;

return impar(n-1);
}
int impar(int n)
{ if (n == 0) return 0;

return par(n-1);
}

4.3.1.3.- Recursión simple.- Aquella en cuya función solo aparece una llamada recursiva. Se...
tracking img