python与算法:算法的时间对比分析
程序员文章站
2022-06-03 13:27:13
...
算法时间的对比
A算法的时间开销为100n^3,B的算法开销为0.5*2^n,问题规模为多大的时候B算法的更快?
两种方法,
一种是求解:
0.5*2^n<100n^3
得到的n的值就是满足条件的规模
另一种是画图:
可以比较清晰的表明随着规模增加,时间的消耗程度
# 计算可得,在小于20的时候,B算法较快
target_num=[]
for i in range(100):
if 0.5*2**i<100*i**3:
target_num.append(i)
print(target_num)
import matplotlib.pyplot as plt
x=list(range(22))
y1=[0.5*2**i for i in x]
y2=[100*i**3 for i in x]
plt.plot(x,y1,color='red')
plt.plot(x,y2,color='green')
plt.legend(["A: 0.5*2**i", "B: 100*i**3"])
plt.show()