मैं एक स्थिति है पर एक आंशिक आदेश प्राप्त करने, इस प्रकार के लिए:एल्गोरिथ्म जल्दी से लिंक किए हुए एकाधिक सूचियों
- मैं n दोगुना से जुड़े सूचियों
- प्रत्येक सूची एक प्रहरी शुरुआत और अंत है
- सूचियों में समान प्रारंभ और अंत नोड (आवश्यक नहीं है, लेकिन सादगी के लिए)
- सूचियां समरूप हैं और आइटम साझा कर सकती हैं
मैं सभी n सूचियों में अंत नोड, सभी नोड्स के एक आंशिक आदेश को खोजने के लिए, शुरुआत नोड के साथ शुरू और के साथ समाप्त, ठीक है, करना चाहते हैं इस तरह है कि किसी भी नोड जो NX सूचियों में प्रकट होता है , जहां x < n, सभी सूचियों में अन्य नोड्स के संबंध में सॉर्ट किया जाएगा जिसमें यह प्रतीत होता है।
सूचियों का एक उदाहरण सेट उपलब्ध कराने के लिए सरणियों का उपयोग करना:
first = [a, b, d, f, h, i];
second = [a, b, c, f, g, i];
third = [a, e, f, g, h, i];
जाहिर है, एक संभावित जवाब [, ए, बी, सी, डी, ई, एफ, जी, एच मैं] होगा, लेकिन एक और स्वीकार्य आदेश [ए, बी, डी, ई, सी, एफ, जी, एच, मैं] होगा।
मुझे पता है कि ऐसा करने के लिए एक तेज़ एल्गोरिदम है, क्या किसी को याद है कि यह कैसे जाता है या इसे क्या कहा जाता है? मेरे पास पहले से ही कुछ धीमे संस्करण हैं, लेकिन मुझे यकीन है कि कहीं नथ में कहीं तेज़ है।
(। और, इससे पहले आप से पूछना, इस होमवर्क या परियोजना यूलर के लिए नहीं है, और मैं इस किसी भी अधिक ठोस नहीं कर सकता यह समस्या है।)
संपादित करें: मुझे लगता है कि आंशिक अपेक्षाकृत यकीन ऑर्डरिंग केवल तभी परिभाषित की जाती है जब तक कि अंतराल सभी सूचियों में और उसी स्थिति में (शुरुआत और अंत) में हों। मैं उन अंतराल को खोजने के लिए एक रैखिक-समय की खोज के खिलाफ नहीं होगा, और यदि वे नहीं मिल पा रहे हैं, तो वहां एक त्रुटि उठाई जा सकती है।
सूचियों के विरोधी आदेश होने पर उत्तर क्या होगा यदि उदा। 'पहला = [ए, बी]' और 'दूसरा = [बी, ए]'? – antinome
एंटीनोम: उपरोक्त संपादन में उल्लिखित अनुसार, यदि वैध अंतराल प्राप्त करने का कोई तरीका नहीं है, तो मैं समय से पहले एक त्रुटि उठाऊंगा। – Corbin