La idea básica del diseño de algoritmo recursivo es:
Para un problema complejo, descomponga el problema original en varios subproblemas relativamente simples y continúe hasta que el subproblema sea tan simple que pueda resolverse directamente, es decir, es la salida de recursividad, para que el problema original se pueda resolver de manera recursiva.
Al hacer algoritmos recursivos, debe comprender la salida, es decir, debe tener una condición final recursiva clara al hacer algoritmos recursivos. Esto es muy importante. De hecho, esta salida es muy fácil de entender. Es solo una condición. Cuando se cumple esta condición, ya no recurrimos.
La clave para agarrar es:
(1) Salida recursiva
(2) El empuje de tierra se acerca gradualmente a la salida
La recursión es el comportamiento del método en sí mismo que se llama a sí mismo. Tenga cuidado de escribir el encabezado de recursión, es decir, cuándo salir de la recursión.
Evite un círculo vicioso.
Ejemplo 1, imprime 1 ~ 100 por recursivamente
paquete com.lanhuigu.base; public class CursionTest {private static int i = 0;/** * imprima recursivamente 1 a 100 */public static void testcursion01 () {i ++; // autoincremento if (i <= 100) {// devolución de llamada cuando menos o igual a 100, de lo contrario, la devolución de la llamada para evitar el ciclo de la muerte System.out.println (i); testCursion01 (); // llamada de llamada: llamar a sí misma} else {system.out.println ("juego over!");} Public static void main (string [] args) {testCursion01 (); // imprima 1 ~ 100}}Ejemplo 2: Calcule recursivamente el factorial de cierto número
paquete com.lanhuigu.base; public class CursionTest {/***Calcule recursivamente factorial de cierto número*/public static int testFactorial (int n) {if (n == 1) {return 1;} más {return n*testFactorial (n-1);}} public estatic noid main (string [] args) {system.out.println (testfactorial (5); Calcule factorial de 5}}Con respecto a los factoriales de cálculo recursivo, el diagrama de la estructura de análisis de memoria recursiva:
Primero coloque la línea larga, finalmente cierre la línea y luego tire de la tierra de los peces.
Resumir
Lo anterior trata sobre el análisis de ejemplo del algoritmo recursivo de Java en este artículo, espero que sea útil para todos. Los amigos interesados pueden continuar referiéndose a otros temas relacionados en este sitio. Si hay alguna deficiencia, deje un mensaje para señalarlo. ¡Gracias amigos por su apoyo para este sitio!