欢迎访问宙启技术站
智能推送

使用Java函数实现二分查找算法的示例

发布时间:2023-06-20 14:15:22

二分查找算法也称为折半查找,是一种在有序数组中查找目标值的算法。它的思想是将数组分成两部分,如果目标值比中间值小,则在左半部分继续查找;如果目标值比中间值大,则在右半部分继续查找。通过不断缩小查找范围,最终可以将目标值找到或者确定不存在。二分查找算法具有时间复杂度O(logN),适用于查找次数多、查找范围大的情况。

Java函数实现二分查找算法的步骤如下:

1.定义函数binarySearch并传入参数int[] arr, int target

2.使用两个指针分别指向数组的起始位置和终止位置,定义变量mid表示中间位置

3.在while循环中对mid进行更新,当目标值小于中间值时,将终止位置更新为mid-1;当目标值大于中间值时,将起始位置更新为mid+1。

4.如果找到目标值,返回索引值;否则返回-1表示没找到。

下面是完整的Java函数实现二分查找算法的示例代码:

public static int binarySearch(int[] arr, int target) {

    int left = 0;

    int right = arr.length - 1;

    while (left <= right) {

        int mid = (left + right) / 2;

        if (target == arr[mid]) {

            return mid;

        } else if (target < arr[mid]) {

            right = mid - 1;

        } else {

            left = mid + 1;

        }

    }

    return -1;

}

以上代码中,给定一个有序数组arr和目标值target,函数通过比较每个中间值来确定搜索的范围,最终返回目标值的索引或者-1表示没找到。该函数实现了二分查找算法的基本逻辑,可以在实际开发中应用到排序、查找等场景。