Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def check_for_min_heap(arr):
- return True
- def delete_min_element(arr):
- if (check_for_min_heap(arr)==False):
- print("Heap does not exist")
- else:
- arr[0]=arr[len(arr)-1]
- for i in range(1,len(arr)-1):
- ind=i
- while(arr[ind]<arr[(ind-1)//2] and ind>=0 and ((ind-1)//2)>=0):
- temp=arr[(ind-1)//2]
- arr[(ind-1)//2]=arr[ind]
- arr[ind]=temp
- ind=(ind-1)//2
- for i in range(0,len(arr)-1):
- print(arr[i],end=" ")
- print()
- def delete_particular_element(arr,m):
- if (check_for_min_heap(arr)==False):
- print("Heap does not exist")
- elif (arr.index(m)==-1):
- print("Integer not found")
- else:
- d=arr.index(m)
- arr[d]=arr[len(arr)-1]
- for i in range(1,len(arr)-1):
- ind=i
- while(arr[ind]<arr[(ind-1)//2] and ind>=0 and ((ind-1)//2)>=0):
- temp=arr[(ind-1)//2]
- arr[(ind-1)//2]=arr[ind]
- arr[ind]=temp
- ind=(ind-1)//2
- for i in range(0,len(arr)-1):
- print(arr[i],end=" ")
- print()
- def Insert_an_element(arr,element):
- ind=len(arr)
- if (check_for_min_heap(arr)==False):
- print("Heap does not exist")
- else:
- arr.append(element)
- while(arr[ind]<arr[(ind-1)//2] and ind>=0 and ((ind-1)//2)>=0):
- temp=arr[(ind-1)//2]
- arr[(ind-1)//2]=arr[ind]
- arr[ind]=temp
- ind=(ind-1)//2
- for i in range(0,len(arr)):
- print(arr[i],end=" ")
- print()
- def heap_sort(arr):
- bound=len(arr)-1
- while(bound!=0):
- temp=arr[0]
- arr[0]=arr[bound]
- arr[bound]=temp
- for i in range(0,bound):
- ind=i
- while(arr[ind]<arr[(ind-1)//2] and ind>=0 and ((ind-1)//2)>=0):
- temp=arr[(ind-1)//2]
- arr[(ind-1)//2]=arr[ind]
- arr[ind]=temp
- ind=(ind-1)//2
- bound=bound-1
- for i in range(0,len(arr)):
- print(arr[i],end=" ")
- print()
- N=int(input())
- arr=list(map(int,input().split(" ")))
- for i in range(1,N):
- ind=i
- while(arr[ind]<arr[(ind-1)//2] and ind>=0 and ((ind-1)//2)>=0):
- temp=arr[(ind-1)//2]
- arr[(ind-1)//2]=arr[ind]
- arr[ind]=temp
- ind=(ind-1)//2
- for i in range(0,len(arr)):
- print(arr[i],end=" ")
- print()
- element=int(input("Enter number to be inserted in the heap "))
- Insert_an_element(arr,element)
- delete_min_element(arr)
- m=int(input("Delete particular element "))
- delete_particular_element(arr,m)
- heap_sort(arr)
Add Comment
Please, Sign In to add comment