Recursividad
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í mismose 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 seplanteará 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 a resolver, llegará un momento enque 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 larecursividad.
Es frecuente que los algoritmos recurrentes sean más ineficientes en tiempo que los iterativos aunque suelen ser mucho más breves en espacio.
RECURSIVIDAD DIRECTA VS INDIRECTA.
Cuando en unasubrutina hay llamadas a ella misma se habla de recursividad directa, en contraposición, cuando se tienen varias subrutinas y éstas se llaman unas a otras formando ciclos se dice que la recursión esindirecta.
Subrutina_A → Subrutina_A → Subrutina_A
Subrutina_A → Subrutina_B → Subrutina_C → Subrutina_D → Subrutina_A
PROPIEDADES DE LAS DEFINICIONES O ALGORITMOS RECURSIVOS
No debe generar una secuenciainfinita de llamadas así mismo, dicho de otro modo ha de existir al menos un caso base.
Una función recursiva f debe definirse en términos que no impliquen a f al menos en un argumento o grupo de...
Regístrate para leer el documento completo.