डेटा संरचनाओं के बारे में क्या जाना जाता है जो निम्नलिखित दो कार्यों के अधीन वस्तुओं के अनुक्रम को बनाए रख सकते हैं?
- पुश (x): अनुक्रम के अंत में x जोड़ें, और अनुक्रम में अपनी स्थिति के लिए एक पहचानकर्ता लौटाएं
- एक्स्ट्रेक्ट (S): आइडेंटिफायर्स का एक अनियंत्रित सेट दिया गया, अनुक्रम से उन स्थितियों में आइटम हटा दें, और अनुक्रम क्रम में हटाए गए आइटमों की सूची लौटाएं
यदि आप चाहें, तो आप इसे एक स्टैक या एक कतार के रूप में विभाजित कर सकते हैं, जो इसे दो स्टैक्स में विभाजित करता है: एक पॉप या डीक्यू ऑपरेशन को लागू करने के लिए एक्सट्रैक्ट ऑपरेशन का उपयोग किया जा सकता है, और आइटम का एक्सट्रैक्टेड सीक्वेंस भी डाला जा सकता है। फिर से एक अलग ढेर या कतार में।
मुझे पहले से ही पता है: एक अनुक्रम को एक दोहरी-लिंक की गई सूची के रूप में बनाए रख सकता है, जहां प्रत्येक पहचानकर्ता एक लिंक-लिस्ट नोड के लिए एक संकेतक है, और प्रत्येक नोड एक स्थिति संख्या भी संग्रहीत करता है जो दो असंबंधित तत्वों के पदों के बीच तेजी से तुलना की अनुमति देता है अनुक्रम में। स्थिति संख्याओं को अपडेट करना मुश्किल नहीं है क्योंकि डेटा संरचना आगे बढ़ती है ताकि वे अधिकतम मूल्य सभी सकारात्मक पूर्णांक हों , जहां n सूची में आइटमों की वर्तमान संख्या है। इस डेटा संरचना के साथ, एक निकालने के ऑपरेशन का एकमात्र मुश्किल हिस्सा निकाले गए आइटम को उनकी स्थिति संख्याओं के आधार पर छांट रहा है। का एक निष्कर्षण कश्मीर आइटम लेता हे ( कश्मीर √FOCS 2002 से हान और थोरुप के पूर्णांक छँटाई एल्गोरिथ्म का उपयोग करके यादृच्छिक समय की उम्मीद करता है, उदाहरण के लिए, और एक पुश ऑपरेशन लगातार समय लेता है।
मुझे नहीं पता: क्या समय में अर्क को संभालना और निरंतर समय में धक्का देना संभव है ? क्या इस समस्या पर साहित्य है? क्या यह पूर्णांक छँटाई के समान कठिन है?
प्रेरणा: यह कॉफमैन-ग्राहम शेड्यूलिंग एल्गोरिदम में वस्तुओं को ऑर्डर करने के लिए आवश्यक बुनियादी कदम है, जिसमें ग्राफ ड्राइंग में भी एप्लिकेशन हैं। कॉफमैन-ग्राहम का कठिन हिस्सा एक लेक्सोग्राफिक टोपोलॉजिकल ऑर्डरिंग है। यह बनाए रखने के द्वारा किया जा सकता है, प्रत्येक अलग-अलग indegree के लिए, उप-भाग में उस indegree के साथ अनुलंबों का एक क्रम शेष शीर्षकों द्वारा प्रेरित है। फिर, बार-बार पहले वर्टेक्स को शून्य-इंडेग्री वर्टिस के अनुक्रम से हटा दें और इसे टोपोलॉजिकल ऑर्डर में जोड़ें; पहले से संबंधित डिग्री से v के पड़ोसियों को निकालें और उन्हें अगली छोटी डिग्री के लिए अनुक्रम पर धकेल दें। तो एक हे ( के ) इस डेटा संरचना में अर्क संचालन के लिए समय कॉफ़मैन-ग्राहम एल्गोरिथ्म के एक रैखिक समय कार्यान्वयन के लिए नेतृत्व करेगा।
चूंकि मूल रूप से यह पूछने पर मुझे 1976 से सेठी का एक पेपर मिला, जो कॉफ़मैन-ग्राहम एल्गोरिथम को रैखिक समय में लागू करने की अनुमति देता है, और इसे कॉफ़मैन-ग्राहम एल्गोरिथम पर मेरे विकिपीडिया लेख में शामिल किया है , इसलिए मूल प्रेरणा कम सार्थक है। मैं अभी भी उत्सुक हूं कि उत्तर क्या है, हालांकि।