Memoisierung
Memoisierung, auch Memoization, ist eine Optimierungstechnik der Informatik, die darauf abzielt, wiederholte Aufrufe einer teuren Funktion durch das Speichern ihrer Ergebnisse zu beschleunigen. Wird ein Funktionsaufruf mit bestimmten Argumenten einmal berechnet, wird das Ergebnis in einem Cache abgelegt. Bei späteren Aufrufen mit denselben Argumenten wird das gespeicherte Ergebnis direkt zurückgegeben, ohne die Funktion erneut auszuführen.
In der Praxis wird ein Schlüssel aus den Funktionsargumenten gebildet, der typischerweise hashbar ist. Der Cache
Anwendungsfälle liegen vor allem bei rekursiven Algorithmen mit überlappenden Teilproblemen oder bei kostenintensiven reinen Funktionen. Gegenüber
Beispiele: In Programmiersprachen lassen sich Memoisierungstechniken oft über eingebaute Mechanismen realisieren, etwa Python-Decorators wie lru_cache oder