O que é uma recursão de cauda?

Recursão de cauda é um tipo de chamada de método de programação em que um método se chama, depois retorna imediatamente o valor dessa segunda chamada. Em outras palavras, a recursão da cauda ocorre quando a declaração final dentro de um método é outra chamada para o mesmo método. Os parâmetros na segunda chamada do método geralmente são diferentes dos primeiros, mas isso não é necessário. Para que essa recursão funcione, o método chamado dentro de si deve retornar um valor concreto, como um número, string ou algum outro objeto. Os métodos vazios, que não retornam um valor, não funcionam bem para recursão. Uma chamada de recursão de cauda adequada também pode ser encontrada dentro de uma estrutura de controle, o que significa que, no código -fonte, a estrutura de controle pode encerrar o método e não a chamada. A distinção importante neste caso é que um COA estrutura ntrol não é uma declaração de programação, mas uma parte interna da linguagem do computador.

A recursão de cauda existe em muitas linguagens do computador, incluindo Java e C ++. Freqüentemente, essas chamadas recursivas podem ser reescritas usando outros meios, como loops, loops ou declarações de goto. A utilidade da recursão é encontrada ao criar muitas chamadas seqüenciais para o mesmo método. A recursão é frequentemente a maneira mais limpa e fácil de realizar tarefas repetitivas.

Um exemplo comum de recursão de cauda é um método que calcula o fatorial de um número. Esse processo é ideal porque, começando em qualquer número, cada número antes de ser multiplicado juntos. Portanto, para encontrar o fatorial de 5, o processo adequado para fazer isso seria multiplicar 5*4*3*2*1. A recursão entra por causa de como o método fatorial é estruturado: se o fatorial for 1, retorne 1, retorne o fatorial do número GIndividado ao método menos um. Este método também é útil porque pode ser escrito equivalentemente usando qualquer tipo de recursão de cauda, ​​com ou sem uma declaração de controle em torno de uma chamada de método final.

A recursão da cauda é apenas um exemplo dos múltiplos tipos de recursão. O conceito em todos os tipos de recursão é essencialmente o mesmo, que, de alguma forma, um método se chama. Desses tipos, a distinção da recursão da cauda é que o valor de uma chamada recursiva é imediatamente retornada e nada mais acontece no método de chamada após essa chamada.

OUTRAS LÍNGUAS

Este artigo foi útil? Obrigado pelo feedback Obrigado pelo feedback

Como podemos ajudar? Como podemos ajudar?