ஒரு ஹாஷ் மேப் (அகராதி) O(1) சராசரியாக தேடுதல், சேர்த்தல் மற்றும் நீக்குதல் செய்கிறது. O(n) நினைவை வேகத்திற்கு பரிமாற்றுவதால் பல O(n²) அல்காரிதங்களை O(n) ஆக மாற்றுகிறது மீண்டும் மீண்டும் ஸ்கேன் செய்வதை உடனடி தேடுதலுடன் மாற்றுவதன் மூலம்.
அடிப்படை ধারণை
பட்டியலை ஒவ்வொரு முறையும் தேடுவதற்கு பதிலாக, நீங்கள் கண்ட மதிப்புகளை ஹாஷ் மேப்பில் சேமித்து, நிரந்தர நேரத்தில் உறுப்பினத்தை சரிபார்க்கவும்.
உதாரணம்: இரண்டு-தொகை O(n) இல்
():
seen = {}
i, x (nums):
need = target - x
need seen:
(seen[need], i)
seen[x] = i
two_sum([, , , ], )
