¿Qué son la recursividad y la iteración?
1. Diferentes significados:
La recursión es llamar repetidamente a la función misma para implementar un bucle. La iteración es un bucle implementado por una determinada sección de código dentro de una función. Las variables involucradas en la operación en el código del bucle también son las variables que almacenan los resultados. Los resultados actualmente guardados se utilizan como valores iniciales para el siguiente bucle. cálculo.
En el bucle recursivo, cuando se cumple la condición de terminación, regresa capa por capa hasta el final. La iteración utiliza el contador para finalizar el ciclo. Por supuesto, en muchos casos se mezclan y utilizan varios ciclos, lo que depende de las necesidades específicas.
2. Diferentes estructuras:
La recursividad y la iteración se basan ambas en estructuras de control: la iteración utiliza una estructura de repetición, mientras que la recursividad utiliza una estructura de selección. Tanto la recursividad como la iteración implican repetición: la iteración utiliza explícitamente construcciones de repetición, mientras que la recursividad logra la repetición mediante llamadas repetidas a funciones. Tanto la recursividad como la iteración implican pruebas de terminación: la iteración termina cuando falla la condición del bucle, la recursividad termina cuando se encuentra un caso base, y tanto la iteración como la recursividad que utilizan contadores para controlar la repetición alcanzan gradualmente el punto de terminación: la iteración sigue modificando el contador hasta que el contador El valor hace que la condición del bucle falle; la recursividad sigue produciendo copias simplificadas del problema original hasta que se alcanza el caso base.
Los algoritmos recursivos se utilizan generalmente para resolver tres tipos de problemas:
(1) La definición de datos se define de forma recursiva. (Función de Fibonacci)
(2) La solución del problema se implementa según el algoritmo recursivo.
Aunque este tipo de problemas no tiene una estructura recursiva obvia, es más sencillo resolverlo de forma recursiva que iterativa, como el problema de Hanoi.
(3) La forma estructural de los datos se define de forma recursiva.
Por ejemplo, árboles binarios, tablas generalizadas, etc., debido a las características recursivas inherentes a la propia estructura, sus operaciones se pueden describir de forma recursiva.
Referencia del contenido anterior: Baidu Encyclopedia-Recursion