🎯 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:
    1. Caso Base: A condição de parada. É o cenário mais simples onde a função retorna um valor sem chamar a si mesma.
    2. 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


📚 Referências e Fontes