Um método recursivo é aquele que chama a si mesmo, direta ou...
Próximas questões
Com base no mesmo assunto
Ano: 2026
Banca:
UFLA
Órgão:
UFLA
Prova:
UFLA - 2026 - UFLA - Analista de Tecnologia da Informação |
Q4071621
Algoritmos e Estrutura de Dados
Um método recursivo é aquele que chama a si mesmo, direta ou indiretamente. Métodos
recursivos permitem uma descrição mais clara e concisa dos algoritmos, especialmente quando
o problema a ser resolvido pode ser definido em termos recursivos. No entanto, isso não
significa que um método recursivo será sempre a melhor opção para resolver um problema
(Ziviani, 2012).
O código em Python, a seguir, tem como objetivo calcular, recursivamente, o n-ésimo número de Fibonacci. Esse código é extremamente ineficiente, pois recalcula o mesmo valor várias vezes. Por exemplo, para calcular fib(5) são necessários os valores de fib(4) e fib(3). Entretanto, fib(4) também chama recursivamente fib(3).
Considerando a execução do código apresentado para n = 5, assinale a alternativa que representa CORRETAMENTE o número de chamadas de fib(5), fib(4), fib(3), fib(2) e fib(1), nessa ordem.
O código em Python, a seguir, tem como objetivo calcular, recursivamente, o n-ésimo número de Fibonacci. Esse código é extremamente ineficiente, pois recalcula o mesmo valor várias vezes. Por exemplo, para calcular fib(5) são necessários os valores de fib(4) e fib(3). Entretanto, fib(4) também chama recursivamente fib(3).
Considerando a execução do código apresentado para n = 5, assinale a alternativa que representa CORRETAMENTE o número de chamadas de fib(5), fib(4), fib(3), fib(2) e fib(1), nessa ordem.