मर्ज सॉर्ट

लिस्ट को दो आधों में बांटता है, हर आधे को सॉर्ट करता है, फिर दोनों सॉर्टेड आधों को मिलाकर एक सॉर्टेड लिस्ट बनाता है।

  • Ω(n log n)
  • Θ(n log n)
  • O(n log n)
  • O(n)
  • हाँ
  • नहीं
  • तुलना हो रही है
  • खिसक रहा है
  • अंतिम जगह पर
0 / 263 चरण

↓ बांटना ↓ मिलाना पूरे हुए मर्ज: 23 में से 0

तुलनाएं लेखन

प्ले दबाएं: रेखाएँ दिखाती हैं कि सॉर्ट के दौरान लागत कैसे बढ़ती है

प्ले दबाएं या एल्गोरिदम को चरण दर चरण देखें।

स्पेस: चलाएं या रोकें। बाएं और दाएं ऐरो: चरण दर चरण। Home और End: सीधे जाएं।

इसे आज़माएं: कम अलग-अलग वैल्यू वाली लिस्ट चुनें। दो वैल्यू बराबर हों तो पहले बाएं आधे वाली ली जाती है, इसलिए बराबर वैल्यू अपना क्रम बनाए रखती हैं।

यह कैसे काम करता है

लिस्ट को तब तक बांटते रहें जब तक हर टुकड़े में एक ही वैल्यू न बचे, जो अपने आप सॉर्टेड है। फिर टुकड़ों को जोड़ों में वापस मिलाएं: दोनों टुकड़ों की पहली वैल्यू की तुलना करें और छोटी वाली लें, बार-बार। एनिमेशन में ऊपर उठी पंक्ति वह अतिरिक्त मेमोरी है जो मिलाते समय लगती है।

यह कब सही विकल्प है

जब ऐसी रफ़्तार चाहिए जो सबसे बुरी स्थिति में भी अच्छी रहे, और बराबर वैल्यू का आपसी क्रम न बदले। Python और Java दोनों मर्ज सॉर्ट का एक रूप इस्तेमाल करते हैं। इसकी कमी है अतिरिक्त मेमोरी की ज़रूरत।