是指算法的执行效率
算法的执行时间与算法的输入值之间的关系
for/while循环 O(n)
无循环 则为常量O(1)
常见时间复杂度案例分析:
O(1):
def O1(num):
i=num
j=num*2
return i+j
O(log n):
def O1(num):
i=num
j=num*2
return i+j
O(n):
def OlogN(num):
i=1
while(i<num):
i=i*2
return i
O(m+n):
def OMN(num1,num2):
total=0
for i in range(num1):
total+=i
for j in range(num2):
total+=j
return total
O(nlog n):
def ONLogN(num1,num2):
total=0
j=0
for i in range(num1):
while(j<num2):
total += i+j
j=j*2
return total
O(n^2):
def ON2(num):
total=0
for i in range(num):
for j in range(num):
total += i+j
return total
O(1) < O(logN) (二分查找) < O(N) < O(NlogN) < O(N^2) < O(2^n) < O(n!)