Memoization er en teknikk som brukes i dataprogrammering hvor et program "husker" resultatet av et beregningsfullt dyrt funksjonsanrop ved å lagre det i et cache. Hvis funksjonen kalles senere ved hjelp av de samme inngangene, lastes resultatet fra hurtigbufferen i stedet for å bli omregnet, og sparer CPU-ressurser.
I noen tilfeller kan memoering gi en annen fordel enn hastighet. Et eksempel er gjensidig rekursjon, hvor to matematiske objekter er definert i forhold til hverandre. Memoisering kan gjøre det mulig å beregne gjensidig rekursjonsoperasjoner, men ikke nødvendigvis raskere.
I noen logiske programmeringsspråk kan memoisering refereres til som tabulering fordi det brukes som en teknikk for å fylle opp et oppslagstabell.
Funksjonsanrop, Programmeringsbetingelser