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.