गतिशील सेट के लिए फिंगरप्रिंटिंग


10

क्या निम्न समस्या के लिए ओ (1) समय प्रति ऑपरेशन के साथ एक डब्ल्यू-बिट शब्द-रैम डेटा संरचना मौजूद है ?: संचालन का समर्थन करने वाले डब्ल्यू-बिट गैर-नकारात्मक पूर्णांक का एक सेट बनाए रखें।

  • add (x): x को सेट में जोड़ें
  • remove (x): x को सेट से हटा दें
  • फिंगरप्रिंट (): सेट का एक फिंगरप्रिंट लौटाएं। इस डब्ल्यू-बिट फ़िंगरप्रिंट की संपत्ति है कि दो सेट जो समान हैं, एक ही फ़िंगरप्रिंट हैं जबकि दो सेट जो संभवतः अलग-अलग फ़िंगरप्रिंट हैं

सभी ऑपरेशन निरंतर समय में चलने चाहिए।

राबिन-कार्प फिंगरप्रिंटिंग योजना है, जहां जहां पी एक यादृच्छिक डब्ल्यू-बिट प्रधानमंत्री लगभग काम करता है। समस्या अद्यतन समय के साथ है, क्योंकि 2 x mod p की गणना निरंतर समय से अधिक होती है। बार-बार स्क्वेरिंग का उपयोग करते हुए, यह ओ (लॉग डब्ल्यू) समय में किया जा सकता है। सबसे तेज़ मॉड्यूलर एक्सप्लोरेशन एल्गोरिथम मुझे मिल सकता है जैसे (लॉग डब्ल्यू) / (लॉगलॉग डब्ल्यू) अंकगणितीय संचालन।

f(S)=(xS2x)modp
2xmodp

3
मैं देखता हूं कि पहले से ही एक समान प्रश्न यहां पोस्ट किया गया था , लेकिन कोई निरंतर समाधान नहीं दिया गया था।
पैट मोरिन

जवाबों:


1

यह जवाब थोड़ा हाथ से लहराने वाला है।

h

  1. खाली सेट में फिंगरप्रिंट 0 है।
  2. ffh(x)

STSTST2w


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