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.