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

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


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

$$h_{1}(x)=x\:mod\:m$$

$$h_{2}(x)=x\:mod\:m'$$

$$h(x,i)=(h^{1}(x)+ih^{2})\:mod\:m$$

i का मान = 0, 1, …, m – 1। इसलिए हम i = 0 से शुरू करते हैं, और इसे तब तक बढ़ाते हैं जब तक हमें एक खाली स्थान नहीं मिल जाता। इसलिए प्रारंभ में जब i = 0, तो h(x, i), h'(x) के समान होता है।

उदाहरण

मान लीजिए हमारे पास आकार 20 (m = 20) की एक सूची है। हम रैखिक जांच (linear probing) फैशन में कुछ तत्व डालना चाहते हैं। तत्व हैं {96, 48, 63, 29, 87, 77, 48, 65, 69, 94, 61}

$$h_{1}(x)=x\:mod\:20$$

$$h_{2}(x)=x\:mod\:13$$

x h(x, i) = (h1 (x) + i*h2(x)) mod 20

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

हैश टेबल

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


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

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

  1. डेटा संरचना में R-ट्री (R-trees) डेटा संरचना में R-ट्री (R-trees)

    यहाँ हम R-ट्री (R-Trees) डेटा संरचना देखेंगे। R-ट्री का उपयोग विशेष डेटा इंडेक्स को कुशलतापूर्वक संग्रहीत करने के लिए किया जाता है। यह संरचना विशेष डेटा क्वेरी और भंडारण को रखने के लिए बहुत उपयोगी है। R-ट्री के कुछ वास्तविक जीवन अनुप्रयोग हैं: बहुआयामी जानकारी इंडेक्स करना गेम डेटा संभालना भू-स्था

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

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