Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #encoding=utf-8
- import random
- import time
- def MedyanBul(dizi,enb):
- pivot, kucuk, buyuk = random.choice(dizi), [], []
- if enb == len(dizi):
- return max(dizi)
- for i in dizi:
- if pivot < i:
- buyuk.append(i)
- elif pivot >= i:
- kucuk.append(i)
- if len(kucuk) >= enb:
- return MedyanBul(kucuk, enb)
- elif len(kucuk) < enb:
- return MedyanBul(buyuk, enb - len(kucuk))
- if len(kucuk) + 1 == enb:
- return pivot
- def main():
- start = time.clock()
- dizi = [17,54,20,31,26,77,55,93]
- #17 20 26 31 54 55 77 93
- if len(dizi) % 2 == 1:
- print("Listenin medyani :", MedyanBul(dizi,len(dizi)/2 +1))
- else:
- sayi1, sayi2 = MedyanBul(dizi,len(dizi)/2), MedyanBul(dizi,len(dizi)/2 +1)
- print("Listenin medyani : ", float (sayi1+sayi2)/2)
- finish = time.clock()
- print("Algoritmanın çalışma süresi: %.7f"%(finish-start))
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement