PythonFunçõesintermediario

Memoização simples

Memoização é uma técnica que evita recomputar valores já calculados, salvando tempo em operações repetitivas. Em jogos, simulações ou processamento de dados, onde a mesma função é chamada várias vezes com os mesmos argumentos, armazenar resultados em cache pode acelerar o código drasticamente. Dominar isso com um dicionário simples é o primeiro passo para otimizações mais complexas.

O PROBLEMA

Função que calcula quadrado(n) e armazena em cache para não recalcular.

EXEMPLO

quadrado(4) → 16 (cache)

SOBRE O CONCEITO

A memoização usa um dicionário para guardar resultados já calculados. Antes de calcular quadrado(n), a função verifica se n já está no cache com if n in cache:. Se estiver, retorna o valor salvo sem recalcular. O erro comum é pular essa verificação e sempre rodar o cálculo, desperdiçando tempo. Por exemplo, se você chama quadrado(4) várias vezes, sem cache o Python refaz 4**2 toda vez. Com cache, apenas na primeira vez ele calcula; nas seguintes, busca direto no dicionário. Usar ** para potência é permitido, e o dicionário deve ser definido fora da função para persistir entre chamadas.

RESOLUÇÃO

Mais exercícios de Funções

PYF026D · DesafioSistema de validaçãoPYF029D · DesafioAnalisador de textoPYF006B · BásicoFunção booleanaPYF009B · BásicoChamar função dentro de função
Ver todos os exercícios de Python