常见算法之二分查找法

Posted java-spring

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常见算法之二分查找法相关的知识,希望对你有一定的参考价值。

public class BinarySearch {
    
    public static void main(String[] args) {
        int[] a = {1,2,3,4,5,6,7,8,9};
        int binarySerach = binarySerach(a, 4);
        System.out.println(binarySerach);
    }

    public static int binarySerach(int[] a, int key) {
        int low = 0;
        int high = a.length - 1;
        int mid = -1;
        while (low <= high) {
            mid = (low + high) / 2;
            if (key > a[mid]) {
                low = mid + 1;
            } else if (key < a[mid]) {
                high = mid - 1;
            } else {
                return mid;
            }
        }
        return mid;
    }

}

 

以上是关于常见算法之二分查找法的主要内容,如果未能解决你的问题,请参考以下文章

我所知道的查找算法之二分查找法

常见算法之二分查找

每周算法小知识之二分查找

蓝桥杯软件学院:常见算法之二分查找

算法 二分查找法

分治法应用之二分查找 快速排序递归排序