Algoritme & struktura të dhënash

Memoization

Në shqip: Memorizimi i rezultateve

ShpjegimiSQ

Memoization do të thotë ta mbash mend rezultatin e një funksioni për çdo hyrje, që herën tjetër ta kthesh menjëherë. Në Python e bën me @lru_cache. Është „versioni nga lart poshtë“ i programimit dinamik.

EnglishEN

Memoization means remembering a function's result for each input, so next time you return it straight away. In Python you do it with @lru_cache. It's the “top-down” version of dynamic programming.

Si ta mendosh

Si kur mëson tabelën e shumëzimit përmendësh: 7 × 8 s'e llogarit më, e di.

Lexoje në anglisht

Like learning your times tables by heart: you don't work out 7 × 8 any more, you just know it.

Shembull kodipython

memo = {}
def fib(n):
    if n < 2: return n
    if n not in memo: memo[n] = fib(n - 1) + fib(n - 2)
    return memo[n]

Terma të lidhur