Algorithmen und Datenstrukturen · Middle · Frage 27 von 75

Wie baut man meist einen LRU-Cache mit get und put in O(1)?

Antwort zeigen

Richtige Antwort: Eine Hash-Map plus eine doppelt verkettete Liste nach letzter Nutzung

Erklärung

Die Map findet einen Knoten per Schlüssel; die Liste verschiebt ihn in O(1) nach vorne und wirft bei Überfüllung das Ende ab. In JavaScript reicht eine Map allein: sie behält die Einfügereihenfolge, also beim Zugriff den Schlüssel löschen und neu setzen und map.keys().next().value verdrängen.

Zum Weiterlesen

Fehler in der Frage

Algorithmen und Datenstrukturen · Middle · Frage 27

Teste dich selbst

Mach den Test Algorithmen und Datenstrukturen · Middle: Fragen und Antworten werden gemischt, und am Ende wartet eine Übersicht der Fehler.

Diesen Test machen