Transformación de algoritmos recursivos a iterativos y viceversa
1) Identificar el "loop" candidato, este debe de modificar una o mas variables locales y devolver un resultado basado en sus valores finales.
2) Mover el "loop" a una nueva función.
3) Compilar y ejecutar varias veces el programa.
4) Reemplazar el "loop" con una función que acepte las variables locales y que ademas devuelva el resultado final.
5) La implementación de la función debe contener una declaración "if" que analice la condición del "loop" ( while (condición) ) y que calcule o devuelva el resultado final. Despues, dentro de la condición "else" se debe incluir la llamada recursiva con los parámetros modificados apropiadamente.
6) Compilar y ejecutar varias veces el programa.
7) Ahora solo resta perfeccionar la nueva función: quitar sentencias innecesarias y encontrar una mejor estructura para la "condición" dentro de la función recursiva.
No hay comentarios:
Publicar un comentario