python测试算法运行时间函数

1、计算程序运行的时间函数(python版本)
import time
def cal_time(func):
def wrapper(*args,**kwargs):
t1=time.perf_counter()
result=func(*args,**kwargs)
t2=time.perf_counter()
print("%s running time: %s sec." %(func.__name__,t2-t1))
return result
return wrapper
2、测试不同算法运行时间使用案例:
以顺序查找算法和二分查找算法为例:
#导入函数运行时间测试函数
from cal_time import *
#查找算法
#顺序查找/线性查找算法的含义
@cal_time
def linear_search(l,v):
for i in range(len(l)):
if l[i]==v:
return i

#二分查找算法(有序的排列列表之下使用二分法)
@cal_time
def binary_search(l,v):
left=0
right=len(l)-1
while(left<right):
mid = (left + right) // 2
if l[mid]==v:
return mid
elif l[mid]<v:
left=mid+1
else:
right=mid-1

l=list(range(10000))
v=3890
binary_search(l,v)
linear_search(l,v)

运行结果展示如下所示:

binary_search running time: 7.299999999987872e-06 sec.
linear_search running time: 0.00017319999999998448 sec.

 



posted @ 2020-02-29 20:06  The-Chosen-One  阅读(2328)  评论(0编辑  收藏  举报