¿Qué es una recursión de cola?
La recursión de la cola es un tipo de llamada del método de programación donde un método se llama a sí mismo, luego devuelve inmediatamente el valor de esa segunda llamada. En otras palabras, la recursión de la cola ocurre cuando la declaración final dentro de un método es otra llamada a ese mismo método. Los parámetros en la segunda llamada de método son generalmente diferentes de los del primero, pero esto no es necesario. Para que esta recursión funcione, el método que se llama dentro de sí debe devolver un valor concreto, como un número, cadena o algún otro objeto. Los métodos vacíos, que no devuelven un valor, no funcionan bien para la recursión.
El requisito de que una llamada recursiva debe ser la última declaración en su método de llamadas no significa necesariamente que la llamada recursiva sea la última línea en el método. También se puede encontrar una llamada de recursión de cola adecuada dentro de una estructura de control, lo que significa que, en el código fuente, la estructura de control puede finalizar el método en lugar de la llamada. La importante distinción en este caso es que un coLa estructura NTROL no es una declaración de programación, sino una parte incorporada del lenguaje informático.
La recursión de la cola existe en muchos lenguajes de computadora, incluidos Java y C ++. Con frecuencia, estas llamadas recursivas se pueden reescribir utilizando otros medios, como para bucles, mientras que los bucles o las declaraciones de GOTO. La utilidad de la recursión se encuentra al crear muchas llamadas secuenciales al mismo método. La recursión es a menudo la forma más limpia y fácil de realizar tareas repetitivas.
Un ejemplo común de recursión de la cola es un método que calcula el factorial de un número. Este proceso es ideal porque, comenzando en cualquier número, cada número antes de que se multiplique juntos. Entonces, para encontrar el factorial de 5, el proceso adecuado para hacerlo sería multiplicar 5*4*3*2*1. La recursión entra debido a cómo se estructura el método factorial: si el factorial es 1, regresa 1, de lo contrario devuelve el factor del número Gvivido al método menos uno. Este método también es útil porque se puede escribir de manera equivalente utilizando cualquier tipo de recursión de cola, con o sin una declaración de control alrededor de una llamada de método final.
La recursión de la cola es solo un ejemplo de los múltiples tipos de recursión. El concepto en todo tipo de recursión es esencialmente el mismo, que de alguna manera un método se llama a sí mismo. De estos tipos, la distinción de la recursión de la cola es que el valor de una llamada recursiva se devuelve de inmediato, y no sucede nada más en el método de llamadas después de esa llamada.