DEV Community

Recursão

Definição de Recursão:

  • Recursão é um método que se chama a si mesmo.
  • Um método é recursivo quando contém uma chamada a ele próprio.

Exemplo Clássico:
Cálculo do fatorial é um exemplo clássico de recursão.
O fatorial de um número 𝑁 é o produto de todos os números inteiros de 1 a N

Exemplo de Código:

  • Código fornecido mostra um método recursivo (factR) e um método iterativo (factI) para calcular o fatorial.
  • Ambos os métodos retornam os mesmos resultados, mas com abordagens diferentes.

Funcionamento do Método Recursivo:

  • O método recursivo (factR) chama a si mesmo até que o valor de
  • 𝑛 n seja 1.
  • A cada chamada recursiva, o método "empilha-se" e só começa a retornar quando a condição base é atingida.

Pilha de Chamadas:

  • Cada chamada recursiva aloca espaço na pilha de execução para novos parâmetros e variáveis.
  • As chamadas recursivas podem causar saturação de pilha, resultando em exceções.

Comparação com Iteração:

  • Métodos recursivos podem ser mais claros e simples para certos algoritmos, como a ordenação rápida.
  • No entanto, versões recursivas podem ser mais lentas devido à sobrecarga de chamadas de método.

Cuidados ao Usar Recursão:

  • É crucial ter uma condição de término para evitar que o método entre em um loop infinito.
  • Instruções de depuração, como println(), podem ajudar a entender o fluxo de execução recursiva.

Código Recursivo para Calcular o Fatorial
VER RECURSION.JAVA

Top comments (0)