Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ESTRUCTURA DE DATOS Recursividad
ESTRUCTURA DE DATOS Recursividad
UNIDAD 2 RECURSIVIDAD
Un proceso es recursivo, si est definido total o parcialmente en trminos de s mismo. La
utilizacin de la recursividad es apropiada cuando el problema a resolver o los datos a tratar
han sido definidos de forma recursiva, aunque esto no garantiza que esta sea la mejor forma
de resolverlo.
La recursin es una alternativa a la iteracin. Un proceso iterativo es aquel que requiere de la
expresin explicita de cierta accin.
De esta forma para calcular por ejemplo, el factorial de un nmero, se puede utilizar un
proceso iterativo o uno recursivo.
PROCED I MI EN TOS RECUR S I V OS
ESTRUCTURAS DE DATOS
ESTRUCTURAS DE DATOS
valores de los parmetros y de las variables locales del mtodo, si este mtodo retorna un
resultado este tambin se guarda en la pila.
Para cada llamada del mtodo se almacenan en la pila los nuevos valores crendose un nuevo
registro de activacin. De tal forma que la pila de recursin est formada por estos registros
de activacin.
El cdigo o mtodo recursivo para el factorial es:
public int fact(int n)
{
if (n==0) return 1;
else return n*fact(n-1);
}
N IV E L D E R E C U RS ION
0
1
2
3
4
PROC E S O D E ID A
FA CT ( 4)
4 *FA CT ( 3)
3 *FA CT ( 2)
2 *FA CT ( 1)
1 *FA CT ( 0)
FA CT ( 0)
PROC E S O D E V U E L TA
24
4 *6
3 *2
2 *1
1 *1
1
RECURSIVIDAD EN EL DISEO
En el diseo un algoritmo recursivo se debe de tener en cuenta lo siguiente:
a)
b)
c)