【めもか】
メモ化 とは?
最終更新:
💡 計算結果を「メモして」使い回す
関数の引数と計算結果の対応を記憶し、同じ入力への結果を再利用して再計算を省く最適化手法。結果が変わる条件やキャッシュの寿命も考える。
📌 このページのポイント
キャッシュとメモ化の違いは?
フィボナッチ数列での効果は?
図の15回と6回は何を数えているの?
Reactのメモ化も同じ?
どの関数もメモ化すれば速くなる?
効果が小さい計算や入力が毎回違う処理では、保存や検索の負担が増えることもあるよ。書き込みなど毎回行うべき副作用も省いてはいけない。必要な部分を測定して選び、保存が増えるなら件数上限や破棄方法を設けよう。LRUは最近使った結果を残す方法の一つだね
まとめ:ざっくりこれだけ覚えればOK!
「メモ化」って出てきたら「同じ入力の計算結果をメモして使い回す最適化」と思えばだいたいOK!
📖 おまけ:英語の意味
「Memoization」 = メモ化
💬 Memo(メモ・覚え書き)から派生。計算結果をメモしておいて再利用するよ