Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from math import floor
- from matplotlib import pyplot as plt
- import random
- def merge_sort(lista):
- if len(lista)<=1:
- return lista
- lewa = []
- prawa = []
- for index, value in enumerate(lista):
- if index < len(lista)/2:
- lewa.append(value)
- else:
- prawa.append(value)
- lewa = merge_sort(lewa)
- prawa = merge_sort(prawa)
- return merge(lewa, prawa)
- def merge(lewa, prawa):
- wynik = []
- while lewa and prawa:
- if lewa[0] <= prawa[0]:
- wynik.append(lewa.pop(0))
- else:
- wynik.append(prawa.pop(0))
- while lewa:
- wynik.append(lewa.pop(0))
- while prawa:
- wynik.append(prawa.pop(0))
- return wynik
- def start():
- wyniki= []
- i = 1
- for i in range(1000):
- lista = list(range(i))
- random.shuffle(lista)
- wyniki.append(merge_sort(lista))
- return wyniki
- wyniki = start()
- print(wyniki)
- plt.plot(wyniki)
- plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement