Një hartë hash (fjalor) jep O(1) mesatare për kërkime, futje dhe fshirje. Zëvendësimi i O(n) kujtesës për shpejtësi e shndërron shumë algoritme O(n²) në O(n) duke zëvendësuar skanet e përsëritur me kërkime të çastit.
Ideja bazë
Së vendi që të kërkosh një listë çdo herë, ruaj vlerat e parë në një hartë hash dhe kontrollo anëtarësinë në kohë konstante.
Shembull: dy-shuma në O(n)
():
seen = {}
i, x (nums):
need = target - x
need seen:
(seen[need], i)
seen[x] = i
two_sum([, , , ], )
