目录
一、简介
二分查找也称折半查找,他的效率比较高。
但它是基于,有序的顺序结构才可以使用。
二、基本思路
例题:在有序数组中查找某个数字
比如在arr[10]={1,2.3,4,5,6,7,8,9,10}, 查找 7
二分查找,就是用中间值(mid)和目标值相比较,移动left和right来减小搜索范围,而每一次减少的范围是一半,所以又称折半查找。
而中间值是由(left+right)/2得出。
初始 left=0 right=9 mid=(0+9)/2
arr[mid] < 目标值k 可以得知 k在mid的右边,则只需要移动 left 来减小搜索范围
left=mid+1
mid = (left+right)/2
(arr[mid]表示的是下标为mid,数组中所对应的值。)
arr[mid] > 目标值k 则需要变动right来减小搜索范围
right=mid-1
mid=(left+right)/2
mid < 目标值 k ,移动left减小范围
left=mid+1
mid=(life+right)/2
arr[mid]=k,则是找到了
以上则为二分查找的基本思路。
三、代码的实现
四、需要注意的地方
Cease to struggle and you cease to live.——Thomas Carlyle