Sobes.tech
Junior

O que é comportamento recursivo?

sobes.tech IA

Resposta da IA

A execução de código ou funções que se chamam a si mesmas.

Elementos principais:

  • Caso base: A condição na qual a recursão termina. Sem ela, a recursão seria infinita.
  • Caso recursivo: A parte da função onde ela chama a si mesma, geralmente com um argumento modificado.

Exemplo (cálculo do fatorial):

func factorial(_ n: Int) -> Int {
    // Caso base
    if n <= 1 {
        return 1
    }
    // Caso recursivo
    return n * factorial(n - 1)
}
// Exemplo de chamada
let result = factorial(5) // 120

Vantagens:

  • Solução elegante para problemas com estrutura auto similar (por exemplo, percorrer árvores).
  • Código mais legível em alguns casos.

Desvantagens:

  • Pode consumir muita memória (pilha de chamadas).
  • Possível estouro de pilha em recursões muito profundas.
  • Às vezes menos eficiente do que soluções iterativas.