PythonColeçõesintermediario

Cache com dicionário

Em programas reais, calcular o mesmo valor repetidamente é desperdício de processamento. Um cache com dicionário resolve isso: guarda resultados já calculados para devolver instantaneamente numa próxima chamada. É o que bibliotecas como functools.lru_cache fazem por baixo dos panos.

O PROBLEMA

Use dicionário como cache para simular memoização.

EXEMPLO

calcular(5) → "Calculando..." → 25
calcular(5) → 25 (cache)

SOBRE O CONCEITO

Memoização usa um dicionário para armazenar resultados de chamadas caras. Antes de calcular, verifica-se com in se a chave existe no cache; se sim, retorna direto. Senão, calcula, guarda no dicionário e retorna. O erro comum de não salvar o resultado no cache quebra esse ciclo: mesmo após o primeiro cálculo, a função recalcula toda vez, anulando o benefício da memoização.

RESOLUÇÃO

Mais exercícios de Coleções

PYCO24A · AvançadoHistograma de textoPYCO15I · IntermediárioTuplas como chavesPYCO16I · IntermediárioSet de emails únicosPYCO25A · AvançadoSistema de estoque
Ver todos os exercícios de Python