绘制算法时间维度图
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.rcParams['font.size']=16
n=np.arange(0,25,0.01)
y1=np.ones(n.shape)
y2=500*(np.log(n))/(np.log(2))
y3=2**n
y4=n**3/3
y5=5*n*n
y6=100*n
plt.figure(figsize=(10,8),dpi=400)
plt.plot(n,y1,label='y=1')
plt.annotate('y=1',xy=(15,10))
plt.plot(n,y2,label='y=500nlogn')
plt.annotate('y=500nlogn',xy=(25,2250))
plt.plot(n,y3,label='y=2^n')
plt.annotate('y=2^n',xy=(10,2500))
plt.plot(n,y4,label='y=n^3/3')
plt.annotate('y=n^3/3',xy=(18,2700))
plt.plot(n,y5,label='y=5*n^2')
plt.annotate('y=5*n^2',xy=(22,2800))
plt.plot(n,y6,label='y=100*n')
plt.annotate('y=100*n',xy=(25,2500))
plt.xlim(0,30)
plt.ylim(0,3000)
plt.xlabel('n')
plt.ylabel('y(n)')
plt.title('算法时间复杂度')
plt.legend()
plt.show()