二分法和猜数游戏类似,猜的时候猜中间的那个数,折半查找。就数组来说,数组越长,梯度下降越快,二分查找优势越明显。
python代码实现:
def sun_search(list,item):
low=0
high=len(list)-1
n=0
while low<=high:
mid=int((low+high)/2)
guess=list[mid]
n+=1
if list[mid]==item:
print(n)
return mid
if list[mid]<item:
low=mid+1
else:
high=mid-1
return None在这里插入代码片
如上!!!