一、再谈复杂度
Complexity Classes:
- O(1) - code does not depend on size of problem
- O(log n) - reduce problem in half each time through process
- O(n) - simple iterative or recursive programs
- O(n log n) - will see next time
- O(n^c) - nested loops or recursive calls
- O(c^n) - multiple recursive calls at each level
二、一些示例
1、logarithmic complexity: bisection search, binary search of a list
# Python
def bisect_search1(L, e):
if L == []:
return False
elif len(L) == 1:
return L[0] == e
else:
half = len(L)//2
if L[half] > e:
return bisect_search1( L[:half], e) # copies list
else:
return bisect_sea