आंशिक रूप से ऑर्डर किए गए तत्वों के एक सेट के लिए लगातार डेटा संरचना क्या है?


15

मुझे टाइप ए के तत्वों के सेट को स्टोर करने की आवश्यकता है। टाइप एक आंशिक रूप से आदेश दिया गया है, इसलिए की तुलना a1 और a2 छोटे लौट सकते हैं, अधिक से अधिक, के बराबर या इससे अतुलनीय।

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

दो तत्वों की तुलना करना एक लंबी प्रक्रिया हो सकती है इसलिए तुलनाओं को कम करना दिलचस्प होगा। यदि आवश्यक हो, तो तुलना ऑपरेटर को कॉल को याद करना संभव है। मुझे अब एहसास हुआ कि मुझे केवल एंटीचिन्स को स्टोर करने की आवश्यकता होगी (या ऐसा मान लें)। अधिक सटीक रूप से, मेरे द्वारा किए जाने वाले ऑपरेशन निम्नानुसार होंगे:

  • एंटीथिन से एक तत्व निकालें;
  • एक तत्व जोड़ने का प्रयास करें। यदि तत्व किसी सदस्य से छोटा है, तो इसे न जोड़ें, अन्यथा, इसे जोड़ें और हर तत्व को इससे छोटा निकालें।

i1<a<i2i3<b<i4i2<i3a<b एक i2i3ab


1
मुझे लगता है कि हमें आपके प्रश्न का बौद्धिक रूप से उत्तर देने के लिए अधिक जानने की आवश्यकता है। क्या आप तत्वों का भंडारण कर रहे हैं और आंशिक क्रम आसानी से गणना कर रहा है? या क्या आप किसी प्रकार की लुकअप टेबल में आंशिक ऑर्डर भी जमा कर रहे हैं? आप आंशिक आदेश का उपयोग कैसे करना चाहते हैं? क्या आप इसे उसी तरह उपयोग करने की उम्मीद कर रहे हैं जिस तरह से रैखिक ऑर्डर का उपयोग सेट को स्टोर करने के लिए किया जाता है (उदाहरण के लिए खोज पेड़ों में)?
बेफ़िक बाउर

अब जब मुझे एहसास हुआ कि मेरे पास केवल एंटिचिन्स होंगे, तो मुझे यकीन नहीं है कि किसी सूची में परिणामों को संग्रहीत करने के भोलेपन से बेहतर कुछ है। यदि हां, तो परेशानी के लिए खेद है!
अब्दुल्ला

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

1
सेट में कोई भी दो तत्व अतुलनीय होंगे, लेकिन इसका मतलब यह नहीं है कि भोली प्रतिनिधित्व सबसे अच्छा है जो आप कर सकते हैं। उदाहरण के लिए, समावेश द्वारा ऑर्डर किए गए परिमित मल्टीसेट्स (डिविज़न के साथ ऑर्डर किए गए पूर्णांक) पर विचार करें: आपके डेटा प्रतिनिधित्व (कार्डिनैलिटी का उपयोग करके, समर्थन सेट का उपयोग करके…) के आधार पर अनुकूलन के लिए बहुत अधिक संभावनाएं हैं। ये अनुकूलन आदेश संबंध की प्रकृति पर दृढ़ता से निर्भर करेगा। फिर यह तय करने का अलग मुद्दा है कि क्या अब हटाए गए तत्वों के बारे में जानकारी रखने लायक है: क्या आप उनकी तुलना अक्सर नए परिवर्धन से करने जा रहे हैं?
गाइल्स का SO- बुराई से रोकना '

ठीक है धन्यवाद। इसलिए मैंने कुछ जानकारी (पूर्णांक बाउंडिंग संभावना) को जोड़ा जिससे अनुकूलन हो सकता है।
अब्दुल्ला

जवाबों:


8

डस्कलाकिस, कार्प, मोसेल, रिसेंसफील्ड, वर्बिन, 2008 द्वारा पेपर "सॉर्टिंग एंड सिलेक्शन इन पॉस्केट्स" जो कि एंटीसैन्स पर आधारित PoSets के एक गतिशील प्रतिनिधित्व का वर्णन करता है।

आपको कागज में भी दिलचस्पी हो सकती है मुनरो, निकोल्सन, 2012 द्वारा हाल ही में अर्किव पर जारी की गई और ग्रंथ सूची में "सूक्रिएट पॉकेट्स" है। उनकी डेटा-संरचना स्थिर है, लेकिन मेरा मानना ​​है कि अगला चरण एक गतिशील डेटा-संरचना है।


O(1)O(1)O(qn)

जंजीरों के एक (न्यूनतम) अपघटन के रूप में प्रतिनिधित्व किए गए नक्शे अच्छी अंतर्दृष्टि है। हालांकि, विलोपन के माध्यम से उस अपरिवर्तनीय को संरक्षित करना मुश्किल है।
सेबेस्टियन ग्रेफ

4

O(lgn)


1
ध्यान दें कि यह केवल 'ट्री-लाइक' आंशिक आदेशों को कवर करता है, उदाहरण के लिए मीट-सेमिलैटिस, जहां कुछ तत्व से कम या बराबर सभी तत्व eएक श्रृंखला बनाते हैं।
सेबस्टियन ग्राफ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.