查找问题在计算机中的应用是非常广泛的,比如你到银行去查一下你的账户还有多少钱,这也是一个查找问题。
二分查找法是比较基础的一种查找方法,但是它有一定的限制,只能在有序的数组中才能使用二分查找法,因此,使用二分查找法前,我们还要使用排序算法对数组进行排序。
二分查找的想法也很简单,如图所示:
- 取数组的中间元素v
- 比较要查找的元素m,将数组进行对半划分,直到找到元素m为止
#选择排序
def selectionSort(arr):
for i in range(len(arr)-1):
for j in range(i + 1,len(arr)):
if arr[i] > arr[j]:
arr[i] , arr[j] = arr[j], arr[i]
return arr
def binarySearch(arr,target):
#输入的是一个已经排好序的数组
#对arr[l,r]操作
l =