यह प्रश्न एक मौजूदा प्रश्न से प्रेरित है कि क्या स्टैक ऑपरेशन के दौरान परिचालित समय में दो कतारों का उपयोग करके एक स्टैक को सिम्युलेटेड किया जा सकता है । उत्तर अज्ञात प्रतीत होता है। यहां एक और अधिक विशिष्ट प्रश्न है, जो उस विशेष मामले से संबंधित है जिसमें सभी PUSH ऑपरेशन पहले किए जाते हैं, उसके बाद सभी POP ऑपरेशन होते हैं। दो प्रारंभिक खाली कतारों का उपयोग करके तत्वों की सूची को कितनी कुशलता से उलटा किया जा सकता है? कानूनी कार्रवाई कर रहे हैं:
- इनपुट सूची (या तो कतार की पूंछ) से अगले तत्व को संलग्न करें।
- तत्व को या तो कतार के शीर्ष पर रखें और इसे फिर से संलग्न करें (या तो कतार की पूंछ पर)।
- तत्व को या तो कतार के सिर पर रखें और आउटपुट सूची में जोड़ें।
यदि इनपुट सूची में तत्व , तो उलटी आउटपुट सूची को उत्पन्न करने के लिए आवश्यक न्यूनतम संचालनों की संख्या क्या है। व्यवहार करें? एक सबूत है कि यह तुलना में तेजी से बढ़ता है , विशेष रूप से दिलचस्प होगा, क्योंकि यह मूल प्रश्न को नकारात्मक में हल करेगा।
अद्यतन (15 जनवरी 2011): समस्या को में हल किया जा सकता है , जैसा कि प्रस्तुत जवाब और उनकी टिप्पणियों में दिखाया गया है; और की एक निचली सीमा तुच्छ है। क्या इनमें से कोई भी सीमा में सुधार किया जा सकता है?Ω ( N )