07:二分查找

1、二分查找针对的是一个有序的数据集合,查找思想有点类似分治思想。每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为 0

2、代码

循环退出条件==》low<=high

mid的取值==》low + (high - low)/2    low + ((high - low) >> 1)

low和high的更新==》low=mid+1  high=mid-1

3、应用场景==》二分查找依赖的是顺序表结构,简单点说就是数组;二分查找针对的是有序数据;数据量太小不适合二分查找;数据量太大也不适合二分查找。

4、如何快速定位IP对应的省份地址

5、二分查找的变形==》

查找第一个值等于给定值的元素

查找最后一个值等于给定值的元素

查找第一个大于等于给定值的元素

查找最后一个小于等于给定值的元素

原文地址:https://www.cnblogs.com/liushoudong/p/13508978.html