Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> प्रोग्रामिंग

डेटा संरचना में ओपन एड्रेसिंग के साथ हैशिंग (Hashing with Open Addressing)


इस अनुभाग में हम देखेंगे कि ओपन एड्रेसिंग (Open Addressing) द्वारा हैशिंग क्या है। ओपन एड्रेसिंग टकराव समाधान (collision resolution) के लिए एक अन्य तकनीक है। चेनिंग (chaining) के विपरीत, यह तत्वों को किसी अन्य डेटा-संरचना में सम्मिलित नहीं करता है। यह डेटा को हैश टेबल में ही सम्मिलित करता है। हैश टेबल का आकार कुंजियों की संख्या से बड़ा होना चाहिए।

ओपन एड्रेसिंग तकनीकों के लिए तीन अलग-अलग लोकप्रिय विधियाँ हैं। ये विधियाँ हैं:

  • रैखिक जांच (Linear Probing)

  • द्विघात जांच (Quadratic Probing)

  • डबल हैशिंग (Double Hashing)

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

डबल हैशिंग में, जब एक टकराव होता है, तो हम एक और हैश फ़ंक्शन का उपयोग करेंगे, फिर उस स्थान पर डाल देंगे। उस हैश फ़ंक्शन को द्वितीयक हैश फ़ंक्शन (secondary hash function) कहा जाता है। यदि कोई टकराव नहीं है तो इसका सीधे उपयोग नहीं किया जाएगा।


  1. डेटा संरचना में डबल हैशिंग (Double Hashing) डेटा संरचना में डबल हैशिंग (Double Hashing)

    इस अनुभाग में हम देखेंगे कि ओपन एड्रेसिंग योजना में डबल हैशिंग (Double Hashing) तकनीक क्या है। एक सामान्य हैश फ़ंक्शन h(x) : U → {0, 1, …, m – 1} है। ओपन एड्रेसिंग योजना में, वास्तविक हैश फ़ंक्शन h(x) सामान्य हैश फ़ंक्शन h(x) लेता है जब स्थान खाली नहीं होता, फिर सम्मिलित करने के लिए कुछ स्थान पाने

  1. डेटा संरचना में चेनिंग के साथ हैशिंग (Hashing with Chaining) डेटा संरचना में चेनिंग के साथ हैशिंग (Hashing with Chaining)

    इस अनुभाग में हम देखेंगे कि चेनिंग (Chaining) के साथ हैशिंग क्या है। चेनिंग टकराव समाधान (collision resolution) की एक तकनीक है। हम टकराव से बच नहीं सकते, लेकिन हम टकराव को कम करने की कोशिश कर सकते हैं, और एक ही हैश मान के लिए कई तत्वों को संग्रहीत करने का प्रयास कर सकते हैं। इस तकनीक में मान लीजिए

  1. हाफएज डेटा स्ट्रक्चर (Halfedge Data Structure) हाफएज डेटा स्ट्रक्चर (Halfedge Data Structure)

    परिचय (Introduction) टेम्पलेट पैरामीटर्स के लिए HDS या हाफएज डेटा स्ट्रक्चर (Halfedge Data Structure - संक्षिप्त HalfedgeDS) को एक एज-केंद्रित डेटा स्ट्रक्चर (Edge-centered Data Structure) के रूप में परिभाषित किया जाता है जो वर्टेक्स, एज और फेसेस (Vertices, Edges and Faces) की घटना जानकारी (Incidenc