計算結果を記憶し、同じ計算をしないよう無駄を省く
メモ化(Memoization)とは、プログラミングにおいて、
関数の計算結果を記憶しておき、同じ計算を繰り返さないようにする
最適化技術の一つです。これにより、特に計算に時間がかかる関数や、何度も同じ入力値で呼び出される関数のパフォーマンスを向上させることができます。
プログラムの高速化のための最適化技法の一種であり、サブルーチン呼び出しの
結果を後で再利用するために保持
し、そのサブルーチン(関数)の呼び出し毎の再計算を防ぐ
手法である。メモ化は構文解析などでも使われる(必ずしも高速化のためだけとは限らない)。キャッシュはより広範な用語であり、メモ化はキャッシュの限定的な形態を指す用語である。