大概这样吧,没有什么complexity的数据,只有一个规模,规模是100
import timeit
import matplotlib.pyplot as plt
time0=timeit.timeit('x',setup='x=100')
time1=timeit.timeit('x+y',setup='x,y=100,100')
time2=timeit.timeit('x*y',setup='x,y=100,100')
time3=timeit.timeit('x^2',setup='x=100')
time4=timeit.timeit('2^x',setup='x=100')
time5=timeit.timeit('math.log(x)',setup='import math;x=100')
time6=timeit.timeit('math.fabs(x)',setup='import math;x=100')
time7=timeit.timeit('math.factorial(x)',setup='import math;x=100')
code8="""for i in x:
bisect.bisect(x,i)"""
time8=timeit.timeit(code8,setup='import bisect;x=range(100)')
set9="""def bubbleSort(arr,n):
for i in range(n-1):
for j in range(n-1-i):
if arr[j] > arr[j+1]:
arr[j], arr[j + 1] = arr[j+1], arr[j]
return arr
x=list(range(100))[::-1]"""
time9=timeit.timeit('bubbleSort(x,100)',setup=set9)
plt.plot(range(10),[eval('time'+str(i)) for i in range(10)])
plt.show()
虽然你推荐分享 了我帮忙看看,解答问题,但这方面不擅长,这是离散数学之时间复杂性的模型,仅能在你实现代码的过程中,尽量提供一些参考
例如下面链接【常见算法的时间复杂度】:https://blog.csdn.net/qq_41955653/article/details/93370770?spm=1001.2101.3001.6650.9&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-9-93370770-blog-114193372.pc_relevant_aa&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-9-93370770-blog-114193372.pc_relevant_aa&utm_relevant_index=10
看不懂....
跟楼上想法差不多,后面俩个结果很简单,画图用plot.show就行,复杂性的话数据太少谈不上
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!