Algoritmo de recursividad

Solo disponible en BuenasTareas
  • Páginas : 2 (457 palabras )
  • Descarga(s) : 13
  • Publicado : 20 de noviembre de 2009
Leer documento completo
Vista previa del texto
ALGORITMO DE RECURSIVIDAD
2. Conceptos básicos de recursividad
* Se dice que un método es recursivo si contiene llamadas o
* invocaciones a sí mismo.
* Un métodorecursivo tendría este aspecto:
* … metodoRecursivo (…){
* ……
* metodoRecursivo (…);
* ……
* }
* Esto implica que una llamada al métodorecursivo puede generar una o
* más invocaciones al mismo método, que a su vez genera otras
* invocaciones, y así sucesivamente.
3. Condiciones que debe cumplir todo métodorecursivo
* Siempre hay que asegurar que existe una condición de salida, es decir,
* si se cumple esa condición, estaremos en el caso base, donde no se
* producenllamadas recursivas.
* Ejemplo para un algoritmo recursivo del factorial:
* Además, es conveniente comprobar que:
* Entre el caso base y los casos no base, se han cubiertotodos los estados posibles.
* Cada llamada, en el caso no base, conduce a problemas cada vez más pequeños que necesariamente terminarán en el caso base.
return n*factorial(n-1) n>1return 1 n=1 (caso base) Solución Casos
4.
* Programa:
* static int factorial (int n){
* if (n>1)
* return factorial (n-1)*n;
* else* return 1;
* }
5. Cuándo debe utilizarse la recursividad
* Ya que la solución recursiva tiene un coste de tiempo y memoria mayor
* que la iterativa. Es decir,los programas recursivos en general son
* menos eficientes. Podríamos utilizar los siguientes consejos:
* Los algoritmos que por naturaleza son recursivos, y donde la solucióniterativa es complicada y debe manejarse explícitamente una pila para enumerar las llamadas recursivas, deben resolverse por métodos recursivos.
* Cuando haya una solución obvia por...
tracking img