¿Se pueden convertir todos los programas o algoritmos recursivos en programas o algoritmos iterativos?
Sí, hay muchos ejemplos de empujar y sacar la pila mediante PUSH y, en el nivel inferior, el algoritmo recursivo se implementa empujando y sacando la pila.
Es bastante complicado convertir algunos algoritmos de recursividad a iteración, como el típico problema de la Torre de Hanoi. Aunque hay rumores en Internet de que algunas personas lo han resuelto mediante iteración, pero se ha demostrado su corrección. Esto aún no ha sido confirmado por expertos de la industria. En la actualidad, generalmente se utiliza la recursividad para implementarlo.
Información ampliada:
Correspondiente al método iterativo está el método directo (o llamado método de solución única), que es una solución única al problema de forma rápida, como por ejemplo resolviendo la ecuación x?3 mediante raíz cuadrada =4. Generalmente, siempre que sea posible se prefieren las soluciones directas. Pero cuando se encuentran problemas complejos, especialmente cuando hay muchas incógnitas y las ecuaciones no son lineales, no se pueden encontrar soluciones directas (por ejemplo, las ecuaciones algebraicas de quinto grado y superiores no tienen soluciones analíticas, consulte el teorema de Abel en este momento, tal vez). Las soluciones aproximadas de ecuaciones (conjuntos) se pueden encontrar mediante métodos iterativos.
Enciclopedia Baidu: método iterativo