Hash map (kamusi) inatoa O(1) wastani kwa utaftaji, kuingiza, na kufuta. Kubadilisha O(n) kumbukumbu kwa kasi hubadilisha algoritimu nyingi O(n²) kuwa O(n) kwa kuondoleza utaftaji mara kwa mara na utaftaji wa haraka.
Wazo la msingi
Badala ya kutaftaji orodha kila wakati, hifadhi maadili uliyoona katika hash map na angalia uanachama katika wakati wa mara kwa mara.
Mfano: jumla-mbili katika O(n)
():
seen = {}
i, x (nums):
need = target - x
need seen:
(seen[need], i)
seen[x] = i
two_sum([, , , ], )
