Hash mapa (rječnik) omogućava O(1) prosječne lookup-e, umetanja i brisanja. Zamjena O(n) memorije za brzinu pretvara mnoge O(n²) algoritme u O(n) zamjenom ponovljenih pretraga s trenutnim lookup-ima.
Ideja
Umjesto pretraživanja liste svaki put, pohranite viđene vrijednosti u hash mapu i provjerite članstvo u konstantnom vremenu.
Primjer: two-sum u O(n)
():
seen = {}
i, x (nums):
need = target - x
need seen:
(seen[need], i)
seen[x] = i
two_sum([, , , ], )
