Vous êtes sur la page 1sur 7

ALGORITMOS RECURSIVOS

• Es una llamada desde la misma función.


• Son recursivos aquellos algoritmos que están dentro de ellos mismos
y son llamados una y otra vez.
RECURSIVIDAD INDIRECTA
• Cuando una subrutina llama a otra pero no la llama ella misma sino
que la llama otra subrutina formando ciclos.
Subrutina a -> Subrutina B - > Subrutina A
Subrutina a -> Subrutina B - > Subrutina C - > Subrutina A
TIPOS DE RECURSION

RECURSION LINEAL
Si cada llamada recursiva genera, como mucho otra llamada recursiva.
• FINAL : Si la llamada recursiva es la última operación que se efectúa,
devolviéndose como resultado lo que se haya obtenido de la llamada
recursiva sin modidificación al guna.
• NO FINAL: El resultado obtenido de la llamada recursiva se combina para dar
lugar al resultado de la función que realiza la llamada.

RECURSION MULTIPLE
Si alguna llamada puede generar más de una llamada adicional.
TIPOS DE RECURSION

• Ejemplo de RECURSION LINEAL


// N mayor o igual 0 y M mayor o igual 0 //
Función MCD(n,m:entero) devuelve entero
Var resultado: entero
SI n= m ENTONCES
Resultado = n
SI NO
SI n>m ENTONCES
Resultado = MCD(n-m,m)
SI NO
Resultado = MCD(n,m-n)
FIN SI
FIN SI
RETORNA resultado
FIN FUNCION
TIPOS DE RECURSION

Ejemplo de RECURSION LINEAL NO FINAL


// n mayor o igual 0 //
Función FACTORIAL(n:entero) devuelve entero
Var resultado
SI n < 2 ENTONCES
Resultado = 1
SI NO
Resultado = n * FACTORIAL(n -1)
FIN SI
RETORNA resultado
FIN FUNCION
TIPOS DE RECURSION

Ejemplo de RECURSION MULTIPLE


// N mayor o igual 0 //
Función FIBONACCI(N:entero) devuelve entero
Var resultado: entero
SI N < 1 ENTONCES
Resultado = N
SI NO
Resultado = FIBONACCI(N-1) + FIBONACCI(N-2)
FIN SI
RETORNA resultado
FIN FUNCION
EFICACIA DE LA RECURSIVIDAD

• Se dice que es menos eficaz que la ITERATIVA porque ocupa más memoria y
mayor tiempo de ejecución pero hace el programa más sencillo y comprensible.

• Un programa recursivo se puede transformar en una solución iterativa mediante


el uso de pilas.
CALCULO DE PILAS

• Las pilas se utilizan para almacenar los valores de los parámetros del subprograma, los valores de
las variables y los resultados de la función.

Vous aimerez peut-être aussi