Eine Hash Map (Wörterbuch) bietet O(1) durchschnittlich für Lookup, Einfügen und Löschen. Durch das Ersetzen wiederholter Durchsuchungen mit sofortigen Lookups werden viele O(n²) Algorithmen in O(n) umgewandelt, auf Kosten von O(n) Speicher.
Die Idee
Anstatt jedes Mal eine Liste zu durchsuchen, speichern Sie gesehene Werte in einer Hash Map und überprüfen die Zugehörigkeit in konstanter Zeit.
Beispiel: two-sum in O(n)
():
seen = {}
i, x (nums):
need = target - x
need seen:
(seen[need], i)
seen[x] = i
two_sum([, , , ], )
