Čo je Memoization?

Memoization je technika používaná v počítačovom programovaní, kde program "pamätá" výsledok výpočtovo nákladného volania funkcií uložením do vyrovnávacej pamäte. Ak sa funkcia zavolá neskôr pomocou rovnakých vstupov, výsledok sa načíta z vyrovnávacej pamäte namiesto toho, aby sa prepočítal, čím sa šetria zdroje CPU.

V niektorých prípadoch môže mať memoizácia iné výhody ako rýchlosť. Jedným z príkladov je vzájomná rekurzia, v ktorej sú dva matematické objekty definované navzájom. Memoizácia môže uľahčiť výpočet operácií vzájomnej rekurzie, ale nie nevyhnutne rýchlejšie.

V niektorých logických programovacích jazykoch môže byť memoizácia označovaná ako tabuľka, pretože sa používa ako technika na vyplnenie vyhľadávacej tabuľky.

Funkčné volanie, Termíny programovania