In [2]:
from sorting import *
import numpy as np
from numpy import *
import matplotlib.pyplot as pyplot
In [3]:
## to visually check my quicksort works:
for j in range(3):
data = np.random.randint(50,size=50)
pyplot.bar(range(len(data)),quicksort(data),width=1);pyplot.show()
In [4]:
## testing my quicksort against numpy sorting:
results = []
for j in range(1000):
data = np.random.randint(50,size=50)
results.append(all(quicksort(data) == np.sort(data)))
all(results)
Out[4]:
In [5]:
## to visually check my mergesort works:
for j in range(3):
data = np.random.randint(50,size=50)
pyplot.bar(range(len(data)),mergesort(data),width=1);pyplot.show()
In [6]:
## testing my mergesort against numpy sorting:
results = []
for j in range(1000):
data = np.random.randint(50,size=50)
results.append(all(mergesort(data) == np.sort(data)))
all(results)
Out[6]:
In [7]:
## testing runtimes
print 'quicksort runtime:'
%timeit quicksort(np.random.randint(10000,size=10000))
print 'mergesort runtime:'
%timeit mergesort(np.random.randint(10000,size=10000))
In [ ]: