Memoization(记忆化)是一种优化技术:把函数在特定输入下的计算结果缓存起来,下次遇到相同输入时直接返回缓存结果,从而减少重复计算,常用于递归、动态规划与性能优化。(在不同语境下也可泛指“把结果记下来以便复用”的做法。)
/ˌmɛməɪˈzeɪʃən/
I used memoization to speed up the Fibonacci function.
我用记忆化来加速斐波那契函数。
In a recursive search, memoization can turn an exponential-time solution into a much faster one by caching overlapping subproblems.
在递归搜索中,记忆化通过缓存重叠子问题的结果,可能把指数级时间的解法变得快得多。
memoization来自 memoize(“把……记下来/做备忘”)+ 名词后缀 -ation(表示“行为/过程”)。其中 memo- 与 memo(备忘录)同源,进一步可追溯到拉丁语 memor(“记得的、记忆的”)。在计算机科学中,它被引申为“把计算结果记录下来以便复用”。