🎯 Recursão
Em poucas palavras
Recursão é uma técnica de programação onde uma função chama a si mesma para resolver um problema. A ideia central é dividir um problema complexo em subproblemas menores e idênticos, até que se chegue a uma forma tão simples que possa ser resolvida diretamente.
📝 Notas e Desenvolvimento
- Os Dois Pilares da Recursão: Para que uma função recursiva funcione e não rode infinitamente, ela precisa de:
- Caso Base: A condição de parada. É o cenário mais simples onde a função retorna um valor sem chamar a si mesma.
- Caso Recursivo: A parte onde a função invoca a si mesma, sempre aproximando o argumento em direção ao Caso Base.
- A Pilha de Chamadas (Stack): Cada vez que a função chama a si mesma, uma nova camada é adicionada à pilha de memória. Quando o caso base é atingido, as funções começam a retornar os valores “desempilhando” os resultados.
- Recursão vs. Iteração:
- Recursão: Mais elegante e próxima da lógica matemática (Ex: Fatorial, Fibonacci, travessia de árvores).
- Iteração (
for,while): Geralmente mais eficiente em termos de memória, pois não consome espaço na pilha.
- Risco de Stack Overflow: Se o caso base nunca for atingido ou se a recursão for profunda demais, a memória da pilha se esgota, causando o erro clássico de “Estouro de Pilha/Stack overflow”.
🔗 Conexões e Contexto
- Atlas: MdC - Programação
- Notas Relacionadas: