गतिशील परिपूर्ण हैशिंग पर कोयल हैशिंग के क्या फायदे हैं?


12

डायनामिक परफेक्ट हैश टेबल और कोयल हैश टेबल दो अलग-अलग डेटा संरचनाएं हैं जो सबसे खराब स्थिति ओ (1) लुकअप और अपेक्षित ओ (1)-टाइम सम्मिलन और विलोपन का समर्थन करती हैं। दोनों को अपने कार्यों के लिए हे (एन) सहायक स्थान और हैश कार्यों के परिवारों तक पहुंच की आवश्यकता होती है।

मुझे लगता है कि ये दोनों डेटा संरचनाएं अपने आप में सुंदर और शानदार हैं, लेकिन मुझे यकीन नहीं है कि मैं देखती हूं कि कैसे और कब इनमें से एक दूसरे पर बेहतर होगा।

क्या ऐसे विशिष्ट संदर्भ हैं जिनमें इनमें से एक डेटा संरचना का दूसरे पर स्पष्ट लाभ है? या वे ज्यादातर विनिमेय हैं?


मुझे यकीन नहीं है कि इनमें से कोई भी तकनीक वास्तव में व्यवहार में उपयोग की जाती है। आमतौर पर इन प्रकार की डेटा संरचनाएं जो सबसे अच्छा असममित सीमा प्रदान करती हैं, वे मुख्य रूप से अनुसंधान हित में हैं, क्योंकि वे आमतौर पर नोटेशन में एक बड़ा स्थिरांक छिपा हुआ है । व्यवहार में आप एक सरल, तकनीक को लागू करने के लिए आसान हो सकते हैं जो वास्तव में एक छोटे से स्थिरांक के साथ अधिक जटिल एक बहुत बड़े स्थिरांक के साथ होता है। O ( लॉग एन ) O ( 1 )OO(logn)O(1)
टॉम वैन डेर ज़ंडेन

@TomvanderZanden यह निश्चित रूप से सच है। मैं दूसरे के ऊपर एक दृष्टिकोण के सैद्धांतिक फायदे में भी दिलचस्पी रखता हूं - क्या कोई अच्छा सैद्धांतिक गुण हैं जो प्रत्येक दृष्टिकोण को दूसरे पर पेश करना है?
टेम्प्लेटेटीपीडिफ

@templatetypedef, मैं आपको इस प्रश्न से जोड़ने के लिए प्रोत्साहित करता हूं, फिर। लोगों को आपके प्रश्न को समझने के लिए टिप्पणियों को नहीं पढ़ना चाहिए - टिप्पणियां क्षणभंगुर हैं और किसी भी समय गायब हो सकती हैं।
डीडब्ल्यू

हां, इन तकनीकों का उपयोग वास्तव में अभ्यास में किया जाता है, आमतौर पर आला क्षेत्रों में।
छद्म नाम

1
कोयल हैशिंग का एक फायदा यह है कि इसे समझना और लागू करना आसान है। इसके अलावा, imho, गतिशील परिपूर्ण हैशिंग की तुलना में विश्लेषण करना बहुत आसान है।
शुकुलज़ २३'१५ को

जवाबों:


3

Dietzfelbinger एट अल के अर्थ में डायनेमिक परफेक्ट हैशिंग। केवल 2-स्वतंत्र हैशिंग की आवश्यकता है । जबकि कोयल हैश टेबलों के लिए सरल हैशिंग पर कुछ परिणाम हैं, जैसे कि मुड़ सारणी हैशिंग और "कश के साथ स्पष्ट और कुशल हैश परिवार प्रत्यय, एक टकराव के साथ हैशिंग", मूल गतिशील सही हैशिंग कुछ अर्थों में अधिक मजबूत हैं।


ओपी की स्पष्ट टिप्पणी देखें: "मैं दूसरे पर एक दृष्टिकोण के सैद्धांतिक फायदे में भी दिलचस्पी रखता हूं - क्या कोई अच्छा सैद्धांतिक गुण हैं जो प्रत्येक दृष्टिकोण को दूसरे पर पेश करना है?"
jbapple

3

कोयल हैशिंग में, लुकअप को समानांतर में प्रदर्शित किया जा सकता है, जबकि डाइटज़फेलबिंगर एट अल। मूल डायनेमिक परफेक्ट हैशिंग योजना में, लुकअप को दो जंजीर मेमोरी एक्सेस की आवश्यकता होती है, जिसमें दूसरी पहुंच पहले से प्राप्त जानकारी का उपयोग करती है।


1

प्रत्येक स्लॉट को एक से अधिक आइटम रखने की अनुमति देकर कोयल हैशिंग की अंतरिक्ष दक्षता को बढ़ाना अपेक्षाकृत आसान है। आकार 4 के स्लॉट्स के लिए, अंतरिक्ष दक्षता 95% की तरह है। कहने का तात्पर्य यह है कि आइटम तब तक डाले जा सकते हैं जब तक कि टेबल में 95% स्थान वस्तुओं को रखने के लिए उपयोग न किया जाए, न कि केवल उन स्थानों पर जहां आइटम जा सकते हैं।

दूसरी ओर, डाइटज़फेलबिंगर एट अल में सीमाएं। डायनामिक परफेक्ट हैशिंग पर पेपर केवल यह साबित करता है कि इंसर्ट ऑपरेशंस तब तक आगे बढ़ सकते हैं जब तक टेबल 3% से ज्यादा भरी न हो।


आप अपने दो उत्तरों को एक साथ जोड़ना चाह सकते हैं। :-)
templatetypedef

0

कोयल हैशिंग किसी भी समय मेमोरी ब्लॉक का उपयोग करती है और मेमोरी को शायद ही कभी खाली या फिर से करना चाहती है। Dietzfelbinger के अर्थ में डायनामिक परफेक्ट हैशिंग, मेमोरी ब्लॉक्स का उपयोग करता है और आंतरिक और बाहरी दोनों विखंडन में अधिक स्थान का उपयोग करेगा। इससे बचने के तरीके हैं, लेकिन वे एल्गोरिथ्म में जटिलता जोड़ते हैं।O ( n )O(1)O(n)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.