A função recursiva tem como objetivo básico resolver problemas maiores, resolvendo subproblemas do problema original. Isso nós já sabemos.
Agora, o que ainda permanece é a dúvida de como saber qual é a melhor situação para se utilizar uma função recursiva ou uma função iterada
ou de iteração. Alguns aspectos podem nos ajudar a tomar essa decisão.
No campo da programação, é muito comum adotarmos por parâmetro de análise a quantidade de linhas de código. Vejamos:
Código A
Código B
2345
1 def fib_rec(n):
If n < 2:
return n
else:
return fib rec(n-1) + ib rec(n-2)
Fonte: Elaborada pelo autor.
1 def fib_it(n):
2
res = n
3
a, b = 0, 1
4
for k in range(2, n+1):
5
res = a + b
6
a, b = b, res
7
return res
Com relação à escolha de qual função adotar, assinale a alternativa correta.
Alternativas
A) A função iterada tende a ser custosa e mais demorada apesar de conter menos linhas de código
B) As funções recursivas e iteradas são exatamente a mesma coisa
C) A função recursiva tende a ser custosa e mais demorada apesar de conter menos linhas de código.
D) A função recursiva tende a ser mais barata e rápida.
E) A função de iteração costuma dar muito problema, o que não acontece com a recursão