1、常见的算法时间复杂度
# 常数阶 O(1)
n = 10
# 线性阶 O(n)
for i in range(n):
print(i)
# 平方阶 O(n^2)
for i in range(n):
for j in range(n):
print(i + j)
2、对数阶 O(logN)
i = 1
while i <= n:
i = i * 2
print(i)
理解
i*2之后,距离n越来越近
输出的i值:
2 4 8 16
2 2*2 2*2*2 2*2*2*2
2^1 2^2 2^3 2^4
假设需要执行x次,那么2^x = n
=> x = log_2(N)
=> O(logN)
参考