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

डेटा संरचना में रॉबिन-हुड हैशिंग (Robin-Hood Hashing)


इस अनुभाग में हम देखेंगे कि रॉबिन-हुड हैशिंग योजना (Robin-Hood Hashing) क्या है। यह हैशिंग ओपन एड्रेसिंग (open addressing) की तकनीकों में से एक है। यह निष्पक्ष टकराव समाधान रणनीति का उपयोग करके तत्व के खोज समय को बराबर करने का प्रयास करती है। जब हम सम्मिलित करने का प्रयास कर रहे होते हैं, यदि हम तत्व x को स्थिति xᵢ पर सम्मिलित करना चाहते हैं, और वहां पहले से ही एक तत्व y है जो yⱼ = xᵢ पर रखा गया है, तो दोनों में से छोटे तत्व को आगे बढ़ना चाहिए। इसलिए यदि i ≤ j, तो हम x को स्थिति xᵢ₊₁, xᵢ₊₂ आदि पर सम्मिलित करने का प्रयास करेंगे। अन्यथा हम x को स्थिति xᵢ पर संग्रहीत करेंगे, और y को स्थिति yⱼ₊₁, yⱼ₊₂ आदि पर सम्मिलित करने का प्रयास करेंगे।

डेव्रोएट अल (Devroye et al.) के अनुसार, प्रारंभ में खाली टेबल पर n सम्मिलन करने के बाद, जिसका आकार m = αn है, रॉबिन-हुड सम्मिलन एल्गोरिदम का उपयोग करके, सबसे खराब स्थिति खोज समय का अपेक्षित मान है:

$$E[W]=\Theta(\log\log n)$$

और इसकी सीमा सख्त (tight) है। इसलिए यह एल्गोरिदम ओपन एड्रेसिंग का एक रूप है, जिसमें दोगुना लघुगणकीय (doubly logarithmic) सबसे खराब स्थिति खोज समय होता है।


  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