ठीक है, एक स्थिर क्विकॉर्ट बनाने के लिए काफी आसान है जो O (लॉग एन) के बजाय ओ (एन) स्पेस का उपयोग करता है जो एक जगह, अस्थिर कार्यान्वयन का उपयोग करता है। बेशक, ओ (एन) स्पेस का उपयोग करने वाले एक क्विकॉर्ट को स्थिर नहीं होना चाहिए, लेकिन ऐसा किया जा सकता है।
मैंने पढ़ा है कि ओ (लॉग एन) मेमोरी का उपयोग करने वाले इन-प्लेस क्विकॉर्ट को बनाना संभव है, लेकिन यह काफी धीमी गति से समाप्त होता है (और कार्यान्वयन का विवरण जानवरों की तरह है)।
बेशक, आप हमेशा सरणी के सरणी के माध्यम से जा सकते हैं और मूल सरणी में एक अतिरिक्त कुंजी जोड़ सकते हैं। फिर क्विकॉर्ट स्थिर हो जाएगा और आप अंत में अतिरिक्त कुंजी को निकाल देंगे और हटा देंगे।
स्रोत
2011-04-29 16:37:45
नाइटपिक: यह संरक्षित _equal_ तत्वों का क्रम नहीं है, लेकिन _equivalent_ तत्वों का क्रम है। कैनोलिक उदाहरण केस-असंवेदनशील स्ट्रिंग तुलना है: '" ए "! =" ए "', लेकिन न तो '' ए "<" ए "'न ही'" ए "<" ए "'। –
बिल्कुल एक डुप्लिकेट नहीं है, लेकिन संबंधित: [quicksort विभाजन दृष्टिकोण की स्थिरता] (http://stackoverflow.com/questions/1278243/stability-of-quicksort)। – Dukeling