Guest User

Untitled

a guest
Oct 22nd, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. def heap_sort(arr,heap_size):
  2. build_max_heap(arr,heap_size)
  3. print("Max Heap=",arr)
  4. for i in range(len(arr[:])-1,0,-1):
  5. print("i="+str(i))
  6. arr[1],arr[i]=arr[i],arr[1]
  7. heap_size=heap_size-1
  8. max_heapify(arr,1,heap_size)
  9.  
  10.  
  11. def build_max_heap(arr,heap_size):
  12. for i in range(heap_size//2-1,0,-1):
  13. max_heapify(arr,i,heap_size)
  14.  
  15.  
  16. def max_heapify(arr,i,heap_size):
  17. heap_size=len(arr)
  18. left=2*i+1
  19. right=2*i+2
  20. if left<heap_size and arr[left]>arr[i]:
  21. largest=left
  22. else:
  23. largest=i
  24.  
  25. if right<heap_size and arr[right]>arr[largest]:
  26. largest=right
  27.  
  28. if i!=largest:
  29. arr[i],arr[largest]=arr[largest],arr[i]
  30. max_heapify(arr,largest,heap_size)
  31.  
  32.  
  33. arr=[37, 6, 68, 47, 23, 13, 85, 35, 69, 56]
  34. print(arr)
  35. heap_sort(arr,len(arr))
  36. print ("Sorted array is ",arr)
Add Comment
Please, Sign In to add comment