Académique Documents
Professionnel Documents
Culture Documents
Recursividade
Pedro O.S. Vaz de Melo
Problema
Problema
Problema 2
Ordenar {2,1}
Ordenar {5,4}
2
1
Ordenar {1}
5
2
Ordenar {2}
4
Ordenar {4}
4
5
Ordenar {5}
Anlise do programa
Recursividade
Recursividade
Funo fatorial
1
n0
n!
n (n 1)! n 0
Funo fatorial
Funo fatorial
Pilha de Execuo
Empilha fatorial(4)
fatorial(4)
Funo fatorial
Pilha de Execuo
Empilha fatorial(3)
fatorial(3)
fatorial(4)
Funo fatorial
Pilha de Execuo
Empilha fatorial(2)
fatorial(2)
fatorial(3)
fatorial(4)
Funo fatorial
Pilha de Execuo
Empilha fatorial(1)
fatorial(1)
fatorial(2)
fatorial(3)
fatorial(4)
Funo fatorial
Pilha de Execuo
Empilha fatorial(0)
fatorial(0)
fatorial(1)
fatorial(2)
fatorial(3)
fatorial(4)
Funo fatorial
Pilha de Execuo
Desempilha fatorial(0)
fatorial(0)
fatorial(1)
fatorial(2)
fatorial(3)
fatorial(4)
Funo fatorial
Pilha de Execuo
Desempilha fatorial(1)
fatorial(1)
fatorial(2)
fatorial(3)
fatorial(4)
Funo fatorial
Pilha de Execuo
Desempilha fatorial(2)
fatorial(2)
fatorial(3)
fatorial(4)
Funo fatorial
Pilha de Execuo
Desempilha fatorial(3)
fatorial(3)
fatorial(4)
Funo fatorial
Pilha de Execuo
Desempilha fatorial(4)
fatorial(4)
Funo fatorial
Resultado = 24
20
menorElemento(lista, i, n) = lista[i],
menor(lista[i], menorElemento(lista,i+1,n)),
se i == n
se i != n
21
22
23
Funo Fibonacci
fib(n)
1
n2
fib(n 2) fib(n 1) n 2
24
Funo Fibonacci
fib(1)
fib(2)
fib(1)
fib(2)
fib(2)
fib(3)
3
fib(4)
fib(1)
fib(2)
fib(2)
fib(3)
fib(3)
fib(4)
5
8
fib(6)
fib(5)
25
Funo Fibonacci
26
Funo Fibonacci
10
20
30
50
100
recursivo
8 ms
1s
2 min
21 dias
109 anos
iterativo
0.17 ms
0.33 ms
0.50 ms
0.75 ms
1,50 ms
27