排序算法测试的辅助函数:
1.形成随机数组
2.形成几近有序数组
3.算法时间测试
# SortTestHelper.py
import random
import time
def generateRandomArray(n,rangeL,rangeR):
assert rangeL<=rangeR,\
"rangeR must be greater than rangeL"
array = []
for i in range(n):
array.append(random.randint(rangeL,rangeR))
return array
def generateNearlyOrderedArray(n,swapTimes):
array = list(range(n))
for i in range(swapTimes):
posx = random.randint(0,n)
posy = random.randint(0,n)
temp = array[posx]
array[posx] = array[posy]
array[posy] = temp
return array
def testSort(sortName,sort,array,n):
start = time.clock()
sort(array,n)
end = time.clock()
print(sortName+": "+str(end-start)+"s")