Sobes.tech
Intern

O que é recursão?

sobes.tech IA

Resposta da IA

Função que chama a si própria.

Aplicada na resolução de problemas que podem ser divididos em subproblemas com a mesma estrutura do problema original. Deve haver uma condição de saída (caso base) para evitar um ciclo infinito.

Exemplo de cálculo do fatorial:

<?php
function factorial(int $n): int
{
    // Caso base
    if ($n <= 1) {
        return 1;
    }
    // Chamada recursiva
    return $n * factorial($n - 1);
}

echo factorial(5); // Vai imprimir 120
?>

Vantagens:

  • Elegância e concisão do código para certos problemas.

Desvantagens:

  • Pode levar a estouro de pilha com níveis de recursão muito profundos.
  • Potencialmente menos eficiente do que soluções iterativas para os mesmos problemas devido aos custos adicionais das chamadas de função.

Frequentemente usada para percorrer árvores, sistemas de arquivos, resolver problemas combinatórios.