recursividad
La recursividad consiste en definir una entidad en función de si misma
En programación la recursividad nos da la posibilidad de definir un tipo de datos en función de simismo, o bien nos permite definir un problema en función de si mismo.
Recursividad de Definición : aplicada a Estructuras de Datos
Posibilidad de definir un tipo de datos en términosde si mismo.
public class Nodo {
protected Object elemento;
protected Nodo siguiente;
public Nodo()
/* Crea un nuevo objeto nodo */
{ }
...
}Recursividad de Ejecución : aplicada a los problemas
Posibilidad de definir un problema en función del propio problema.
Recursividad de Ejecución o Recursividad Funcional
Es aquellaque se aplicada a la solución de los problemas y define el problema en función del propio problema, lo cual consiste en que método puede llamarse así mismo una o varias veces.
En larecursividad de ejecución se distingue:
a) Recursividad Directa: Consiste en que un método se llama a si mismo desde uno (recursividad simple) ó varios puntos del código (recursividad múltiple).
b)Recursividad Indirecta o Mutúa: Consiste en que dos métodos se llaman entre si, es decir, mutuamente.
Para poder implementar un método de forma recursiva, es necesario que se cumplan lassiguientes condiciones:
a) Que pueda definirse en términos de si mismo.
b) Que exista un criterio de finalización, llamado Caso Base, llegado el cual no se aplique de nuevo la llamadarecursiva.
c) Que en cada llamada recursiva se este más cerca de que se cumpla el Caso Base.
d) Que se resuelva el problema en un tiempo limitado o finito.
Un ejemplo claro de métodorecursivo es el calculo del factorial de un numero entero N, que puede definirse de forma recursiva o de forma iterativa.
Solución Iterativa Si X >= 0 X! = 1 * 2 * 3 * 4 * ... * X...
Regístrate para leer el documento completo.