Co je to Memoization?

Memoization je technika používaná v počítačovém programování, kdy program "pamatuje" výsledek výpočtově nákladného volání funkcí uložením do mezipaměti. Pokud je funkce volána později pomocí stejných vstupů, výsledek je načten spíše z mezipaměti, než aby byl přepočítáván, což šetří zdroje CPU.

V některých případech může mít memoizace jinou výhodu než rychlost. Jedním příkladem je vzájemná rekurze, ve které jsou dva matematické objekty definovány navzájem. Memoizace může usnadnit výpočet operací vzájemného rekurze, ale ne nutně rychleji.

V některých logických programovacích jazycích může být memoizace označována jako tablování, protože se používá jako technika k naplnění vyhledávací tabulky.

Funkční volání, Programovací termíny