Articles

# Program to implement Heap sort in Python

In the python programming article, we are going to learn

• program to implement heap sort in python

### Program to implement Heap sort in Python

The program is as follows:

``````# Owner : TutorialsInhand Author : Devjeet Roy

def do_heapify(arr, n, i):
largest = i
l = 2 * i + 1
r = 2 * i + 2
if l < n and arr[i] < arr[l]:
largest = l
if r < n and arr[largest] < arr[r]:
largest = r
if largest != i:
arr[i],arr[largest] = arr[largest],arr[i]
do_heapify(arr, n, largest)

def heap_sort(arr,l,h):
n = len(arr)
for i in range(n // 2 - 1, -1, -1):
do_heapify(arr, n, i)
for i in range(n-1, 0, -1):
arr[i], arr = arr, arr[i]
do_heapify(arr, i, 0)

return arr

if __name__ == "__main__":
marks = [22,66,43,58,98,42,77,56,66]
result = heap_sort(marks,0,len(marks)-1)

print("The sorted marks: ", result)``````

The output is as follows:

``````PS C:\Users\DEVJEET\Desktop\tutorialsInHand> python code.py
The sorted marks:  [22, 42, 43, 56, 58, 66, 66, 77, 98]``````

### Few important tips about the program

1. Heapsort is a comparison based sorting technique based on a Binary Heap data structure.

2. The time complexity is O(nlogn) Basic Python Programs

Would you like to see your article here on tutorialsinhand. Join Write4Us program by tutorialsinhand.com 