0% encontró este documento útil (0 votos)
13 vistas2 páginas

Recursion

La recursión es un enfoque algorítmico que resuelve problemas mediante llamadas a sí mismo, reduciendo progresivamente la complejidad hasta llegar a un caso base. Existen dos tipos de recursión: directa e indirecta, y es fundamental definir problemas de menor complejidad y establecer casos base para evitar recurrencias infinitas. Se presentan ejemplos de métodos recursivos para imprimir vectores y listas enlazadas, así como funciones matemáticas recursivas como la de Ackermann.

Cargado por

keiner españa
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
13 vistas2 páginas

Recursion

La recursión es un enfoque algorítmico que resuelve problemas mediante llamadas a sí mismo, reduciendo progresivamente la complejidad hasta llegar a un caso base. Existen dos tipos de recursión: directa e indirecta, y es fundamental definir problemas de menor complejidad y establecer casos base para evitar recurrencias infinitas. Se presentan ejemplos de métodos recursivos para imprimir vectores y listas enlazadas, así como funciones matemáticas recursivas como la de Ackermann.

Cargado por

keiner españa
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Recursión:

Un algoritmo recursivo es un algoritmo que expresa la solución de un problema en términos


de una llamada a sí mismo. La llamada a sí mismo se conoce como llamada recursiva o
recurrente.

Generalmente, si la primera llamada al subprograma se plantea sobre un problema de


tamaño u orden N, cada nueva ejecución recurrente del mismo se planteará sobre
problemas, de igual naturaleza que el original, pero de un tamaño menor que N. De esta
forma, al ir reduciendo progresivamente la complejidad del problema que resolver, llegará
un momento en que su resolución sea más o menos trivial (o, al menos, suficientemente
manejable como para resolverlo de forma no recursiva). En esa situación diremos que
estamos ante un caso base de la recursividad.

Las claves para construir un subprograma recurrente son:

Cada llamada recurrente se debería definir sobre un problema de menor complejidad


(algo más fácil de resolver).
Ha de existir al menos un caso base para evitar que la recurrencia sea infinita.
LA RECURSIÓN PUEDE PRESENTARSE DE 2 MANERAS
Directa: El programa o subprograma se llama directamente a sí mismo.

Indirecta: el subprograma llama a otro subprograma, y éste, en algún momento, llama


nuevamente al primero.
EJEMPLOS
1. Proponga MÉTODO un que reciba como parámetros un vector y lo imprima sin
utilizar ciclos
2. Proponga MÉTODO un que reciba como parámetros un vector y lo imprima de
forma invertida
3. Realizar un MÉTODO que reciba como parámetro una lista enlazada doble y la
imprima sin utilizar ciclos.
4. Proponga un MÉTODO que reciba como parámetro un lista enlazada simple y la
imprima de forma invertida

FUNCION FACTORIAL:

FUNCIÓN FOBONACCI

FUNCION ACKERMAN:
En teoría de la computación, función de Ackermann es una función matemática recursiva
encontrada en 1926 por Wilhelm Ackermann, tiene un crecimiento extremadamente
rápido, de interés para la ciencia computacional teórica y la teoría de la computabilidad.

También podría gustarte