Advertisement
Guest User

Untitled

a guest
May 29th, 2015
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.94 KB | None | 0 0
  1. #encoding=utf-8
  2. import random
  3. import time
  4.  
  5. def MedyanBul(dizi,enb):
  6.  
  7. pivot, kucuk, buyuk = random.choice(dizi), [], []
  8.  
  9. if enb == len(dizi):
  10. return max(dizi)
  11. for i in dizi:
  12. if pivot < i:
  13. buyuk.append(i)
  14. elif pivot >= i:
  15. kucuk.append(i)
  16.  
  17. if len(kucuk) >= enb:
  18. return MedyanBul(kucuk, enb)
  19.  
  20. elif len(kucuk) < enb:
  21. return MedyanBul(buyuk, enb - len(kucuk))
  22. if len(kucuk) + 1 == enb:
  23. return pivot
  24.  
  25. def main():
  26. start = time.clock()
  27. dizi = [17,54,20,31,26,77,55,93]
  28. #17 20 26 31 54 55 77 93
  29.  
  30.  
  31. if len(dizi) % 2 == 1:
  32. print("Listenin medyani :", MedyanBul(dizi,len(dizi)/2 +1))
  33. else:
  34. sayi1, sayi2 = MedyanBul(dizi,len(dizi)/2), MedyanBul(dizi,len(dizi)/2 +1)
  35. print("Listenin medyani : ", float (sayi1+sayi2)/2)
  36. finish = time.clock()
  37. print("Algoritmanın çalışma süresi: %.7f"%(finish-start))
  38.  
  39. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement