हम सभी जानते हैं कि तुलना आधारित मॉडल में तत्व भिन्नता समय में नहीं की जा सकती है । हालांकि, शब्द-रैम पर, कोई संभवतः बेहतर हासिल कर सकता है।
बेशक, अगर कोई एक सही हैश फ़ंक्शन के अस्तित्व को मानता है जिसे रेखीय समय में गणना की जा सकती है, तो हमें तत्व विशिष्टता के लिए एक रेखीय समय एल्गोरिथ्म मिलता है: बस संख्याओं को एक-एक करके रखें और टकराव होने पर 1 लौटें।
हालाँकि, दो मुद्दे हैं: 1) परफेक्ट हैश फ़ंक्शंस के अधिकांश निर्माण जिन्हें मैं यादृच्छिकता का उपयोग कर सकता हूं और 2) मुझे कहीं भी पूर्व-प्रसंस्करण समय की चर्चा नहीं मिल सकती है, अर्थात, यह निर्धारित करने के लिए आवश्यक समय है कि हैश फ़ंक्शन एक क्या है संख्याओं के इनपुट सेट के आधार पर उपयोग करने के लिए।
फ्रेडमैन एट अल। " ओ ( 1 ) सबसे खराब स्थिति एक्सेस टाइम के साथ एक स्पार्स टेबल स्टोर करना " सबसे खराब मामले में एक्सेस समय के साथ हैश फ़ंक्शन प्रदान करके पहले मुद्दे को हल करता है , लेकिन दूसरे मुद्दे के बारे में कुछ नहीं कहता है ।
इसलिए योग करने के लिए, यहाँ मैं क्या चाहता हूँ:
एक एल्गोरिथ्म डिजाइन कि एक सेट दिया के एन संख्या (प्रत्येक संख्या में किया जा रहा w शब्द लंबाई के साथ एक शब्द-रैम पर लंबे समय बिट्स) डब्ल्यू , एक हैश समारोह पाता है ज : एस → { 1 , ... , मीटर } में हे ( एन ) समय , जहां m = O ( n ) । समारोह ज संपत्ति होनी चाहिए कि किसी भी के लिए जे ∈ { 1 , ... , मीटर } , के तत्वों की संख्या कि j कामानचित्रएक स्थिरऔरकंप्यूटिंग h है ( i ) को"उचित" शब्द-रैम मॉडल में O ( 1 ) का समयलेना चाहिए, अर्थात, मॉडल को O में मूल्यांकन किए जाने वाले शब्दों पर "विदेशी" कार्यों की अनुमति नहीं देनी चाहिए ( 1 ) समय।
मैं यह भी जानना चाहूंगा कि क्या शब्द-रैम पर तत्व भिन्नता को हल करने के लिए एल्गोरिदम हैं जो हैश फ़ंक्शन का उपयोग बिल्कुल नहीं करते हैं।