इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे।
समस्या कथन - हमें एक सरणी दी गई है, हमें इसे हेपसॉर्ट की अवधारणा का उपयोग करके क्रमबद्ध करने की आवश्यकता है।
यहां हम अधिकतम तत्व को अंत में रखते हैं। यह तब तक दोहराया जाता है जब तक कि सरणी क्रमबद्ध न हो जाए।
आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें-
उदाहरण
# heapify def heapify(arr, n, i): largest = i # largest value l = 2 * i + 1 # left r = 2 * i + 2 # right # if left child exists if l < n and arr[i] < arr[l]: largest = l # if right child exits if r < n and arr[largest] < arr[r]: largest = r # root if largest != i: arr[i],arr[largest] = arr[largest],arr[i] # swap # root. heapify(arr, n, largest) # sort def heapSort(arr): n = len(arr) # maxheap for i in range(n, -1, -1): heapify(arr, n, i) # element extraction for i in range(n-1, 0, -1): arr[i], arr[0] = arr[0], arr[i] # swap heapify(arr, i, 0) # main arr = [2,5,3,8,6,5,4,7] heapSort(arr) n = len(arr) print ("Sorted array is") for i in range(n): print (arr[i],end=" ")
आउटपुट
Sorted array is 2 3 4 5 5 6 7 8
सभी चर स्थानीय दायरे में घोषित किए गए हैं और उनके संदर्भ ऊपर की आकृति में देखे गए हैं।
निष्कर्ष
इस लेख में, हमने सीखा है कि कैसे हम हीप सॉर्ट के लिए पायथन प्रोग्राम बना सकते हैं