二分查找
二分查找要求数组必须是有序的才可以
原理:
把取数组 list 的中间值 list[mid] 和目标值 x 进行对比,如果大于目标值则取mid左边的部分list[:mid-1],反之则取右边的部分list[:mid+1:],直至找到目标值,返回mid ,若不存在返回False。
采用递归算法
def Binary_Search(nums,x,l,r): mid=(l+r)//2 if l<r: if nums[mid]>x: return Binary_Search(nums,x,l,mid-1) elif nums[mid]<x: return Binary_Search(nums,x,mid+1,r) else: return mid else: return False