Beruflich Dokumente
Kultur Dokumente
algoritmos
Unidad 05 Recursividad y
Ordenamiento
Profesores
Alfredo Granda
Juan Ramrez
Unidad 05 Recursividad y
Ordenamiento
Objetivos
Definicin
Ejemplos
Funciones
Definicin
Recursividad
Se denomina as a una funcin que para cumplir con su
objetivo se llama a si misma.
Al llamarse a si misma, resuelve un problema menos
complejo.
Llegado un punto, el problema es tan simple que puede
ser resuelto sin volverse a llamar a si misma.
Generalmente un algoritmo recursivo tiene 3 partes:
La llamada a si mismo.
La condicin de parada.
El cdigo a ejecutar si la condicin de parada es cumplida.
Recursividad: Eficiente?
No necesariamente, de hecho casi nunca
es el caso que sea eficiente.
La ventaja es que puede simplificar
enormemente la codificacin de una
solucin al problema (poco cdigo, fcil
correccin de errores).
Debe usarse con cuidado, siempre tener
en cuenta todas las reglas de buen uso de
recursin.
Ejemplos
Ejemplo 1: Factorial
El factorial de N (o N!) es el producto de
todos los X (enteros) tales que N >= X >=
1.
As:
N! = 1 x 2 x x N-1 x N
Adems:
0! = 1
Ejemplo 2: Nmeros
Triangulares
Un numero triangular se obtiene de una
serie, donde el numero N no es sino la
suma de N y el numero triangular N-1.
As:
1, 3, 6, 10, 15, 21
1, 2+1, 3+3, 4+6, 5+10, 6+15
Como escribir una funcin que dado N, me
de el numero triangular respectivo?
Ejemplo 3: Fibbonacci
La serie Fibbonacci esta definida como:
F0 = 0,
F1 = 1,
Fi = Fi-1 + Fi-2
(i >=2)
Serie Fibbonacci:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34 .
Ejercicios
Ejercicio 1
Implementar un
permita imprimir
invertido de altura
Ingrese N: 5
*****
****
***
**
*
Ejercicio 2
Ejercicio 3
Ejercicio 4
Ejercicio 5
Resolver
el
ejercicio
4
sin
utilizar
recursividad. Utilizar una pila para resolver el
problema.
Ejercicio 6