Bir hash map (sözlük), O(1) ortalama arama, ekleme ve silme işlemleri sağlar. O(n) belleği hız için değiştirerek, birçok O(n²) algoritmayı O(n) olarak dönüştürür; bunu tekrarlanan taramaları anlık aramalarla değiştirerek yapar.
Temel fikir
Her seferinde bir listeyi aramanın yerine, gördüğünüz değerleri bir hash map'de saklayın ve üyeliği sabit zamanda kontrol edin.
Örnek: O(n) içinde iki-toplam
():
seen = {}
i, x (nums):
need = target - x
need seen:
(seen[need], i)
seen[x] = i
two_sum([, , , ], )
