Escolar Documentos
Profissional Documentos
Cultura Documentos
4/19
Características de funções recursivas
5/19
Exemplo
n! = n* (n-1)*(n-2)*(n-3)*...*1
Ex: 5! = 5 x 4 x 3 x 2 x 1 = 120.
6/19
solução sem fazer uso de uma função
recursiva
public static int fatorial (int n) {
int fat =1;
if (n == 0)
return 1;
for (int i=1;i<=n;i++)
fat = fat *i;
return fat;
}
7/19
solução usando uma função recursiva
8/19
Análise da função fatorial
◼ Ponto de parada:
if (n == 0) return 1;
9/19
Fluxo de execução
10/19
Questão
◼ Vantagens:
Simplifica a solução de alguns problemas;
Maior compactação;
Melhor legibilidade / facilidade de compreensão;
Maior facilidade de implementação.
Algoritmos recursivos x iterativos
◼ Desvantagens:
Gasto de memória;
Performance inferior;
Limite máximo de chamadas recursivas (depende da
plataforma computacional utilizada).
Erros mais comuns ao escrever
funções recursivas
◼ Seqüência de Fibonacci:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610,
987, 1597, 2584, 4181, 6765, 10946...
Solução