欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

简单的二分查找实现

程序员文章站 2022-03-24 18:47:09
...

1.二分查找
二分查找又叫折半查找,顾名思义,算法实现即每次取数组的中间值去进行比较,如果不是结果,则比较中间值和所求结果的大小,然后去掉数组偏大或偏小的一部分,剩下的一半继续取中值进行上叙步骤,直到得到结果。

2.二分查找的优势和限制
1.优势:
比较次数少,查找速度快,平均性能好。时间复杂度为O(h)=O(log2n)。
2.限制(不足):
要求待查表为有序表,且插入删除困难。数据量太小不适合二分查找,使用遍历更加方便,数据量太大也不适合二分查找。数据量太大不适合使用数组存储,自然也就不适合二分查找。

3.二分查找简单实现代码

 public  int search(int[] a ,int n , int value){

        //表示查找区间的下标
        int low =0;
        int high=n-1;


        while (low<=high){//循环条件为low<=high
        int mid = low+(high-low)/2;  //防止low+high较大时溢出
            if(a[mid]==value){
                return mid;     //返回的是该值所在下标
            }
            if(a[mid]<value){
                high = mid-1;
            }
            else {
                low = mid+1;
            }

        }


        return -1;
    }