python算法学习笔记1---二分法查找

时间复杂度--用来评估算法运行效率的一个东西。O(1),O(n)

和空间复杂度--用来评估算法内存占用大小的一个

二分法查找列表必须是有序的

def bin_search(data_set,val):
low = 0
high = len(data_set)-1
while low <= high:
mid = (low+high)//2
if data_set[mid] ==val:
# print("你要找的%d在%d位"%(val,mid))
# break
return mid
elif data_set[mid] < val:
low = mid + 1
else:
high =mid - 1
return
a=[2,5,8,9,10]
b = (bin_search(a,8))
print(b)

你要找的8在2位

原文地址:https://www.cnblogs.com/zhanghr0728/p/9646211.html