आपका विलय-जैसा दृष्टिकोण बहुत उचित लगता है। अधिक आम तौर पर, इस प्रकार के सॉर्टिंग एल्गोरिदम को external sorting algorithm कहा जाता है। ये एल्गोरिदम अक्सर आपके द्वारा वर्णित कार्य के रूप में काम करते हैं - डेटा के कुछ सबसेट को स्मृति में लोड करें, इसे सॉर्ट करें, फिर उसे डिस्क पर वापस लिखें। अंत में, एक साथ वापस सब कुछ मर्ज करने के लिए एक विलय एल्गोरिदम का उपयोग करें। कितना लोड करना है और किस प्रकार के एल्गोरिदम का उपयोग करना पसंद है, आमतौर पर प्रमुख चिंताएं होती हैं। मैं ज्यादातर सॉर्टिंग एल्गोरिदम पसंद पर ध्यान केंद्रित करूंगा।
quicksort की बुरी से बुरी हालत व्यवहार के बारे में आपका चिंताएं हैं आम तौर पर, के बारे में चिंता करने के लिए कुछ भी नहीं बोल के बाद से यदि आप धुरी बेतरतीब ढंग से संभावना है कि आप एक बहुत बुरी क्रम कम है पाने के लिए चुनते हैं। यादृच्छिक पिवट रणनीति भी अच्छी तरह से काम करती है भले ही डेटा पहले से सॉर्ट किया गया हो, क्योंकि इसमें कोई भी सबसे खराब केस इनपुट नहीं है (जब तक कोई आपके यादृच्छिक संख्या जेनरेटर और बीज को नहीं जानता)। आप introsort जैसे क्विक्सॉर्ट संस्करण का भी उपयोग कर सकते हैं, जिसमें सबसे खराब-केस व्यवहार नहीं है, क्योंकि इस सॉर्टिंग एल्गोरिदम के रूप में इस सबसे बुरी स्थिति से बचने के लिए।
उसने कहा, चूंकि आप जानते हैं कि डेटा पहले ही आंशिक रूप से क्रमबद्ध है, तो आप अपने सॉर्टिंग चरण के लिए adaptive sorting algorithm देख सकते हैं। आपने इसके लिए सम्मिलन प्रकार का उल्लेख किया है, लेकिन वहां बहुत बेहतर अनुकूली एल्गोरिदम हैं। यदि स्मृति दुर्लभ है (जैसा आपने वर्णन किया है), तो आप smoothsort एल्गोरिदम में देखने का प्रयास करना चाहेंगे, जिसमें सबसे अच्छा केस रनटाइम ओ (एन), सबसे खराब केस रनटाइम ओ (एन लॉग एन) है, और केवल उपयोग करता है ओ (1) स्मृति। यह कुछ अन्य एल्गोरिदम (जैसे पायथन के timsort, natural mergesort, या Cartesian tree sort) के रूप में अनुकूली नहीं है, लेकिन इसमें कम स्मृति उपयोग है। यह एक अच्छा क्विकॉर्ट के रूप में भी तेज़ नहीं है, लेकिन यदि डेटा वास्तव में अधिकतर सॉर्ट किया जाता है तो यह बहुत अच्छा कर सकता है।
आशा है कि इससे मदद मिलती है!
क्या यह होमवर्क है? इसमें होमवर्क-नेस की हवा है। –
आपको इसे प्रोग्रामर सेक्शन में रखना चाहिए। – Rudy
नहीं, डेटा संरचनाओं में संशोधन। मैंने यूसी बर्कले से ट्यूब पर कुछ भयानक सबक पाये हैं और मैं खुद को एल्गोरिदम सॉर्ट करने के लिए व्यायाम करने की कोशिश कर रहा हूं। – FranXh