इस खंड में हम देखेंगे कि ओपन एड्रेसिंग द्वारा हैशिंग क्या है। ओपन एड्रेसिंग टकराव समाधान के लिए एक और तकनीक है। चेनिंग के विपरीत, यह कुछ अन्य डेटा-संरचनाओं में तत्वों को सम्मिलित नहीं करता है। यह डेटा को हैश तालिका में ही सम्मिलित करता है। हैश तालिका का आकार कुंजियों की संख्या से बड़ा होना चाहिए।
ओपन एड्रेसिंग तकनीकों के लिए तीन अलग-अलग लोकप्रिय तरीके हैं। ये तरीके हैं -
-
रैखिक जांच
-
द्विघात जांच
-
डबल हैशिंग
इस तकनीक में, हम अन्य हैश तकनीकों की तरह हैश फ़ंक्शन का उपयोग करते हैं। अगर जगह फ्री है तो उस लोकेशन में एलीमेंट डालें। अब यदि वह स्थान मुक्त नहीं है, तो हम कुछ समीकरणों का उपयोग करके एक और मुक्त तत्व पाएंगे। रैखिक जांच के लिए, हम कुछ रैखिक समीकरणों का उपयोग करेंगे, द्विघात जांच के लिए, हम कुछ द्विघात समीकरणों का उपयोग करेंगे।
डबल हैशिंग में, जब कोई टक्कर होती है, तो हम दूसरे हैश फ़ंक्शन का उपयोग करेंगे, फिर उस स्थान पर डाल देंगे। उस हैश फंक्शन को सेकेंडरी हैश फंक्शन कहते हैं। यदि कोई टक्कर नहीं है, तो इसका सीधे उपयोग नहीं किया जाएगा।