Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में मर्ज सॉर्ट समझाया गया

मर्ज सॉर्ट एक सॉर्टिंग तकनीक है। यह एक कुशल सॉर्टिंग एल्गोरिथम है जिसकी टाइम कॉम्प्लेक्सिटी O(n log n) होती है जहां n सॉर्ट की जाने वाली ऐरे की लंबाई है।

मर्ज सॉर्ट एक एल्गोरिथम है जो डिवाइड एंड कंकर पैराडाइम का पालन करता है। यह लगातार ऐरे को दो समान हिस्सों में विभाजित करता है। बाद में यह सिंगल एलिमेंट वाली लिस्ट्स को सॉर्ट करना शुरू करता है और लगातार सॉर्ट की गई लिस्ट्स को मर्ज करके पूरी सॉर्ट की गई लिस्ट बनाता है।

इस प्रकार, हमें एक सॉर्ट की गई ऐरे प्राप्त होती है।

उदाहरण

पायथन में मर्ज सॉर्ट समझाया गया

बैंगनी बॉक्स और काले तीर लिस्ट को दो हिस्सों में विभाजित करने को दिखाते हैं।

हरे बॉक्स और लाल तीर दो सॉर्ट की गई लिस्ट्स को मर्ज करने को दिखाते हैं।

मर्ज सॉर्ट इम्प्लीमेंट करें

लिस्ट को दो हिस्सों में विभाजित करना काफी आसान है और यह रिकर्सिवली तब तक किया जाता है जब तक केवल एक एलिमेंट न रह जाए। बाद में मर्जिंग प्रक्रिया की जाती है जो वास्तव में वह जगह है जहां हम दो सॉर्ट की गई लिस्ट्स को एक साथ मर्ज करने का लॉजिक लागू करते हैं।

उदाहरण

मर्ज फंक्शन मर्ज की जाने वाली दो सॉर्ट की गई ऐरे लेता है। a1 का फ्रंटमोस्ट एलिमेंट a2 के फ्रंटमोस्ट एलिमेंट के साथ तुलना की जाती है। दोनों में से छोटे को लिस्ट c में जोड़ा जाता है और उस ऐरे का पॉइंटर इंक्रीमेंट किया जाता है।

def merge(a1, a2):
    c = []
    x = 0
    y = 0
    while x < len(a1) and y < len(a2):
        if a1[x] < a2[y]:
            c.append(a1[x])
            x += 1
        else:
            c.append(a2[y])
            y += 1
    while x < len(a1):
        c.append(a1[x])
        x += 1
    while y < len(a2):
        c.append(a2[y])
        y += 1
    return c

def mergesort(array):
    if len(array) == 1:
        return array
    mid = len(array) // 2
    a1 = mergesort(array[:mid])
    a2 = mergesort(array[mid:])
    return merge(a1, a2)

array = [2, 3, 1, 5, 4, 6, 8, 10, 7, 9]
print(mergesort(array))

आउटपुट

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  1. पायथन प्रोग्राम: काउंटिंग सॉर्ट पायथन प्रोग्राम: काउंटिंग सॉर्ट

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक सरणी दी गई है, हमें काउंटिंग सॉर्ट की अवधारणा का उपयोग करके सरणी को क्रमबद्ध करना है। काउंटिंग सॉर्ट एक तकनीक है जिसमें हम एक विशिष्ट सीमा के बीच कीज़ पर काम करते हैं। इसमें विशिष्ट कुंजी और मान वाले ऑब्जेक्ट की संख्या गिनन

  1. पायथन प्रोग्राम में इंसर्शन सॉर्ट पायथन प्रोग्राम में इंसर्शन सॉर्ट

    इस लेख में, हम पायथन 3.x में इंसर्शन सॉर्ट के कार्यान्वयन के बारे में सीखेंगे। या इससे पहले। एल्गोरिदम इनपुट एलिमेंट्स पर इटरेट करें और प्रत्येक इटरेशन में सॉर्टेड ऐरे को बढ़ाएं। वर्तमान एलिमेंट की तुलना सॉर्टेड ऐरे में उपलब्ध सबसे बड़े मान से करें। यदि वर्तमान एलिमेंट बड़ा है, तो यह एलिमेंट को उ

  1. पायथन प्रोग्राम: इंसर्शन सॉर्ट एल्गोरिदम पायथन प्रोग्राम: इंसर्शन सॉर्ट एल्गोरिदम

    इस लेख में, हम पायथन 3.x या उससे पहले के संस्करण में इंसर्शन सॉर्ट के कार्यान्वयन के बारे में जानेंगे।एल्गोरिदम1. प्रत्येक पुनरावृत्ति पर सॉर्टेड सरणी को बढ़ाते हुए इनपुट तत्वों पर पुनरावृति करें।2. वर्तमान तत्व की तुलना सॉर्टेड सरणी में उपलब्ध सबसे बड़े मान से करें।3. यदि वर्तमान तत्व बड़ा है, तो इ