Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.82 KB | None | 0 0
  1. import math
  2. import time
  3. import random
  4.  
  5. L=[]
  6. for i in range (7):
  7. L.append(random.randrange(1,101,1))
  8. hs=len(L)
  9.  
  10. def MaxHeapify(A,i,hs):
  11. largest=0
  12. l=2*i
  13. r=2*i+1
  14. if l<=hs and A[l]>A[i]:
  15. largest=l
  16. else:
  17. largest=i
  18. if r<=hs and A[r]>A[largest]:
  19. largest=r
  20. if largest!=i:
  21. pom=A[i]
  22. A[i]=A[largest]
  23. A[largest]=pom
  24. MaxHeapify(A,largest,hs)
  25.  
  26. def BuildMaxHeap(A,hs):
  27. hs=len(A)
  28. for i in range(len(A)//2-1,-1,-1):
  29. MaxHeapify(A,i,hs)
  30.  
  31. def HeapSort(A,hs):
  32. BuildMaxHeap(A,hs)
  33. for i in range(len(A)-1,0,-1):
  34. pom=A[0]
  35. A[0]=A[i]
  36. A[i]=pom
  37. hs=hs-1
  38. MaxHeapify(A,0,hs)
  39. print(L)
  40. startTime=time.clock()
  41. HeapSort(L,hs)
  42. endTime=time.clock()
  43. print(L)
  44. print(endTime-startTime)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement