इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे।
समस्या कथन - हमें एक सरणी दी गई है, हमें मर्ज सॉर्ट की अवधारणा का उपयोग करके इसे सॉर्ट करने की आवश्यकता है
यहां हम अधिकतम तत्व को अंत में रखते हैं। यह तब तक दोहराया जाता है जब तक कि सरणी क्रमबद्ध न हो जाए।
आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें -
उदाहरण
#merge function def merge(arr, l, m, r): n1 = m - l + 1 n2 = r- m # create arrays L = [0] * (n1) R = [0] * (n2) # Copy data to arrays for i in range(0 , n1): L[i] = arr[l + i] for j in range(0 , n2): R[j] = arr[m + 1 + j] i = 0 # first half of array j = 0 # second half of array k = l # merges two halves while i < n1 and j < n2 : if L[i] <= R[j]: arr[k] = L[i] i += 1 else: arr[k] = R[j] j += 1 k += 1 # copy the left out elements of left half while i < n1: arr[k] = L[i] i += 1 k += 1 # copy the left out elements of right half while j < n2: arr[k] = R[j] j += 1 k += 1 # sort def mergeSort(arr,l,r): if l < r: # getting the average m = (l+(r-1))/2 # Sort mergeSort(arr, l, m) mergeSort(arr, m+1, r) merge(arr, l, m, r) # main arr = [2,5,3,8,6,5,4,7] n = len(arr) mergeSort(arr,0,n-1) print ("Sorted array is") for i in range(n): print (arr[i],end=" ")
आउटपुट
Sorted array is 2 3 4 5 5 6 7 8
सभी चर स्थानीय दायरे में घोषित किए गए हैं और उनके संदर्भ ऊपर दिए गए चित्र में देखे गए हैं।
निष्कर्ष
इस लेख में, हमने सीखा कि हम मर्ज सॉर्ट के लिए पायथन प्रोग्राम कैसे बना सकते हैं