对于各种各样的算法,为了测试出哪个算法的效率更高,除了用时间复杂度如O(n),O(nlogn),O(n²)等来表示,我们也可以利用同一台计算机对于同一个数值不同算法的运行时间来判断算法的效率。
计时器:
import time
def cal_time(func):
def timeb(*args,**kwargs):
start=time.time()
result=func(*args,**kwargs)
end=time.time()
print('%s run time:%s seconds' % (func.__name__,end-start))
return result
代码使用:
效果:
如果遇到递归,需要创建一个新的函数: