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.

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM