如何比较表演的数量?

时间:2017-04-18 11:16:51

标签: python quicksort insertion-sort

import random
import time

def insertion_Sort(A):

    if len(A) == 1 :
        return A
    else :
        S = [A[0]]
        for i in range(1,len(A)):
            j = i-1
            while j >= 0:
                if A[i] > S[j]:
                    S.insert((j+1),A[i])
                    break
                else :
                    j = j-1
            if j==-1:
                    S.insert(0,A[i])
        return S




def quick_Sort(A):

    if not A:
        return []
    else:
        pivot = random.randint(0, len(A) - 1)
        pivot_index = A[pivot]
        L = quick_Sort([l for i,l in enumerate(A)
                           if l <= pivot_index and i != pivot])
        R = quick_Sort([r for r in A if r > pivot_index])
        return L + [pivot_index] + R





RN = [random.randrange(0,10000) for k in range(100)]

这是关于quick_sort和insertion_sort的代码。

我想比较两件事,即insertion_sort(RN)的执行次数和quick_sort(RN)的执行次数。

我如何比较这些东西?

1 个答案:

答案 0 :(得分:0)

有一个名为timeit的python模块正是您所寻找的。您可以按如下方式使用它:

from timeit import timeit
print(timeit('insertion_Sort(params)','from __main__ import insertion_Sort',number=100))
print(timeit('quick_Sort(params)','from __main__ import quick_Sort',number=100))

您将params替换为参数Anumber=100的值,并将其替换为您希望测试它的次数。