メモ化

メモ化(英: Memoization)とは、プログラムの高速化のための最適化技法の一種であり、サブルーチン呼び出しの結果を後で再利用するために保持し、そのサブルーチン(関数)の呼び出し毎の再計算を防ぐ手法である。

メモ化は構文解析などでも使われる(必ずしも高速化のためだけとは限らない)。キャッシュの概念と似ているが、メモ化という用語はバッファやページ置換などのキャッシュ的な概念とは区別される。分割統治法とメモ化の両方を利用したものを動的計画法と呼ぶ。

関連