
python的问题,请看要求,不仅需要把图画出来,还有complexity的数据,请帮我解决全部可以吗
大概这样吧,没有什么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()