Zurück zur Übersicht

Begriff

Memoization

Computer Science Programming S3
1 Quelle 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Ein kompliziertes Wort für "Notizzettel schreiben" (Memo). Wenn eine Computer-Funktion sehr teuer ist (z. B. lange rechnet), ist es dumm, sie zweimal mit der gleichen Frage aufzurufen. Memoization bedeutet: Die Funktion merkt sich ihre Antworten. "Hat mich jemand schon mal mit '5' gefragt? Ja! Damals war die Antwort '25'. Hier, nimm '25', ich rechne nicht nochmal." Es ist eine spezielle Form von Caching für Funktionen.

Merksatz: Eine Optimierungstechnik, bei der Ergebnisse teurer Funktionsaufrufe gespeichert werden, um bei gleichen Eingaben das Ergebnis sofort zurückzugeben.


Quick-Check

  1. Heißt es Memorization?
    Nein! Es fehlt das "r". Es kommt von "Memo" (Notiz), nicht von "Memory" (Gedächtnis), obwohl es ähnlich funktioniert.
  2. Kostet es Speicher?
    Ja. Du tauschst Rechenzeit (CPU) gegen Speicher (RAM). Wenn du Milliarden Ergebnisse cachst, stürzt das Programm ab ("Out of Memory"). Deshalb nutzt man oft Caches mit begrenzter Größe (LRU).
  3. Warum nicht alles memoizen?
    Der Overhead. Das Nachschlagen in der Hash-Map kostet auch Zeit. Bei super-billigen Funktionen (a + b) ist das Nachschlagen langsamer als das Rechnen selbst.