美文网首页
二分查找

二分查找

作者: yxCassiel | 来源:发表于2019-03-19 23:06 被阅读0次

二分法查找原理思路:

搜索数据与 有序数组 中间元素比较以确定在中间元素左边还是右边,如果在右边,则调整最小搜索索引值,然后进入下次循环;如果在左边,则调整最大搜索索引值,然后进入下次循环;如果相等则当前位置就是查找数据所在位置,停止循环;

注意:

因为是根据数组元素之间的大小关系来查找元素的,所以数组必须是有序的数组,而且升序(从小到大)与降序(从大到小)的代码也会不同。本篇以升序为例。

public class Dichotomy {
    
    public static void main(String[] args) {
        int [] array = {1,2,3,4,5};
        int target = 2;//即array[1]
        
        int low = 0;
    int high = array.length - 1;
    while (low <= high) {
        int middle = (low + high) / 2;
        if (target > array[middle]) {
        low = middle + 1;
        } else if (target < array[middle]) {
            high = middle - 1;
        } else {
            System.out.println(middle);
            break;
        }
    }
    }
}

作者:DragonGirI
来源:CSDN
原文:https://blog.csdn.net/DragonGirI/article/details/81739416
版权声明:本文为博主原创文章,转载请附上博文链接!

相关文章

网友评论

      本文标题:二分查找

      本文链接:https://www.haomeiwen.com/subject/jcnomqtx.html