Recursividad
Recursividad
INTRODUCCIÓN
En el siguiente texto aprenderemos sobre los conceptos de recursividad
e iteración, enfocándonos en la recursividad dentro de la programación
y la estructura de datos.
RECURSIVIDAD
Se define a la recursividad como la característica de un método de poder
llamarse a sí mismo en determinada situación especificada por el
programador.
Método 1(..){
Método 2(…){
…
Método 1();
Método 1(){
….
Método 1();
TIPOS DE RECURSIVIDAD
Recursividad simple.
Recursividad múltiple.
Recursividad directa.
ITERACIÓN
Iteración (o loop) se define como la ejecución de un bucle de
instrucciones, un definido número de veces para lograr un objetivo.
RECURSIVIDAD EN EL DISEÑO
En la parte de diseño hace referencia a la forma de representar los
métodos recursivos al momento de diseñarlos.
1. Especificación y parametrización
A. Determinar los parámetros
B. Definir qué hace al algoritmo en función de esos parámetros,
que resuelve cada sub-problema.
C. Establecer cuál será la llamada inicial, parámetros IN/IN y
OUT/OUT
2. Análisis de los casos
A. Triviales. Determinar para qué valores de los parámetros
existe una solución directa y cuál es esa solución. Debe
existir como mínimo, sino el algoritmo no parará de generar
sub-problemas.
B. Generales. Determinar para qué valores de los parámetros
de la solución se obtiene por descomposición en sub-
problemas del mismo tipo. Establecer cómo se calculan las
soluciones resueltas las llamadas recursivas
correspondientes.
C. Generales. Determinar para qué valores de los parámetros
la solución se obtiene por descomposición en sub-problemas
del mismo tipo. Establecer cómo se calculan las soluciones
resueltas, las llamadas recursivas correspondientes.
3. Diseño del algoritmo.
A. Agrupar lo diseñado en previos pasos, procurando simplificar
el algoritmo cuando sea posible.
B. Eliminar redundancias y agrupar casos triviales cuando sea
interesante.
C. Procurar la eliminación de cálculos repetidos originada por
el estudio separado de casos.
4. Implementación.
A. Implementar las estructuras de datos, adecuadas a la
representación de los mismos.
B. Construir el subprograma recursivo.
CONCLUSIÓN
La recursividad nos puede ser de gran utilidad para la resolución de
problemas en algoritmos que debemos ejecutar dentro de un
determinado número de veces.