Repete chamadas para os mesmos valores e torna a árvore de execução visível.
tempo O(2ⁿ) · espaço O(n)Fibonacci recursivo
Veja uma função chamar a si mesma para diminuir o problema.
Por que a mesma pergunta aparece tantas vezes?
Uma função recursiva resolve um caso menor até alcançar o caso-base, depois retorna os resultados pela pilha de chamadas.
Abrir a chamada
Passo 1 · fib(5) ainda não é um caso-base; a função precisa quebrá-la.
Passo 1: fib(5) ainda não é um caso-base; a função precisa quebrá-la.
Menos chamadas, mais memória.
Guarda cada resultado calculado e reutiliza o valor quando a mesma pergunta retorna.
tempo O(n) · espaço O(n)Recursão ingênua ativa. Nenhum resultado é guardado: cada chamada abre novos subproblemas.
A faixa representa o crescimento teórico das chamadas nesta explicação, não uma medição de milissegundos do navegador. A animação usa os mesmos marcos pedagógicos; a diferença de chamadas aparece no código e no cache reutilizado.
A mesma ideia, três leituras.
fib(n)se n ≤ 1: retorne nesquerda = fib(n - 1)direita = fib(n - 2)retorne esquerda + direitaO destaque acompanha o passo atual da variante ingênua; leia a linha destacada antes de avançar.
