Documente Academic
Documente Profesional
Documente Cultură
Cristian Martinez
Temario
Motivacion
Introduccion
Modulos
recursivos
Tipos de
recursividad
Conclusiones
Recursividad
Cristian Martinez
Algoritmos y Estructuras de Datos
Departamento de Informatica, UNSa, Argentina
1er Cuatrimestre 2013
Recursividad
Cristian Martinez
Temario
Motivacion
Introduccion
Modulos
recursivos
Tipos de
recursividad
Conclusiones
Outline
Motivacion
Introduccion
Modulos recursivos
Tipos de recursividad
Conclusiones
Recursividad
Cristian Martinez
Temario
Motivacion
Introduccion
Modulos
recursivos
Tipos de
recursividad
Conclusiones
Motivaci on
Revisar conceptos previos sobre recursividad.
Recursividad
Cristian Martinez
Temario
Motivacion
Introduccion
Modulos
recursivos
Tipos de
recursividad
Conclusiones
Seg un el programa analtico vigente . . .
La Unidad 2 aborda los siguientes temas:
Deniciones previas
Tipos de recursividad
Propiedades de la recursividad
Aplicaciones
Recursividad
Cristian Martinez
Temario
Motivacion
Introduccion
Modulos
recursivos
Tipos de
recursividad
Conclusiones
La recursividad o recursion es una tecnica de resolucion de
algunos problemas particulares. La denicion de un concepto
es recursiva si se dene en terminos de s mismo.
En matematica, se denomina recursion a la tecnica que
dene una funcion en terminos de s misma. Un ejemplo es
el de la funcion factorial:
! :
0
n! =
1 pertenece a .
0 si n = 1
1 si n = 2
f (n 1) + f (n 2) si n > 2
La denicion recursiva tiene:
Recursividad lineal
Recursividad m ultiple
Otra clasicacion:
Recursividad directa
Recursividad indirecta
Recursividad
Cristian Martinez
Temario
Motivacion
Introduccion
Modulos
recursivos
Tipos de
recursividad
Conclusiones
Recursividad lineal
En el caso de la recursividad lineal, dentro del modulo
recursivo existe una unica invocacion a s mismo.
En general, los modulos (procedimientos/funciones)
recursivos lineales pueden transformarse de manera sencilla a
su version iterativa.
Un ejemplo es el caso de la funcion factorial.
Recursividad
Cristian Martinez
Temario
Motivacion
Introduccion
Modulos
recursivos
Tipos de
recursividad
Conclusiones
Recursividad m ultiple
En el caso de la recursividad m ultiple, el modulo se invoca a
s mismo mas de una vez dentro de una misma activacion.
Es decir, en la denicion del caso general, aparece mas de
una invocacion recursiva.
La transformacion de estos modulos recursivos a su version
iterativa es mas difcil.
Un ejemplo es la sucesion de Fibonacci.
Sigue . . .
Recursividad
Cristian Martinez
Temario
Motivacion
Introduccion
Modulos
recursivos
Tipos de
recursividad
Conclusiones
Recursividad m ultiple-2
Una variante de la recursion m ultiple, es la recursion
anidada, que ocurre cuando dentro de una invocacion
recursiva ocurre como parametro otra invocacion recursiva.
ackerman(n,m)
Si (n=0) entonces m+1
Sino Si (m=0) entonces ackerman(n-1,1)
ackerman(n-1,ackerman(n,m-1))
Recursividad
Cristian Martinez
Temario
Motivacion
Introduccion
Modulos
recursivos
Tipos de
recursividad
Conclusiones
Recursividad directa
Los modulos que se llaman (invocan) a si mismos son de
tipo recursividad directa.
Recursividad
Cristian Martinez
Temario
Motivacion
Introduccion
Modulos
recursivos
Tipos de
recursividad
Conclusiones
Recursividad indirecta
La recursividad indirecta se produce cuando habiendo varios
modulos, se llaman unos a otros formando un ciclo.
A un as, es necesario disponer de al menos un punto de
parada de la recursion.
par(n)
Si (n=0) entonces Verdadero
Sino impar(n-1)
impar(n)
Si (n=0) entonces Falso
Sino par(n-1)
Suponiendo que tenemos un programa principal, que
unicamente invoca a la funcion par:
Recursividad
Cristian Martinez
Temario
Motivacion
Introduccion
Modulos
recursivos
Tipos de
recursividad
Conclusiones
Fin de la clase
Recursividad
Cristian Martinez
Temario
Motivacion
Introduccion
Modulos
recursivos
Tipos de
recursividad
Conclusiones
Aho, A. et al. (1988),Estructura de datos y
algoritmos, Addison Wesley.
Tenenbaum, A., Moshe, A. (1988), Estructura de datos
en Pascal,Prentice Hall.
Wirth, N. (1987), Algoritmos y Estructuras de
Datos,Prentice Hall.
Dale, N., Lilly, S. (1989), Pascal y Estructuras de
Datos, McGraw-Hill.