二分查找
输入为有序的元素列表,若查找的元素在列表中则返回元素位置,反之则返回null
完整代码
def binary_search(list,item):
low=0
high=len(list)-1
while low <= high:
mid = (low+high)/2
guess=list[mid]
if mid==item:
return mid
if mid>item:
high=mid-1
else:
low=mid+1
return None
大O表示法
表示算法时间复杂度的一种方法,指出了算法运行的增速
常见的大O表示法
O(log n)对数时间
O(n) 线性时间
O(n*log n) 快速排序(速度较快的一种排序算法)
O(n²) 选择排序(速度较慢的排序算法)
O(n!)旅行商问题解决方案(非常慢的算法)