java语言高效实现二分法查找

java实现二分法查找

二分法查找算法适用于已经排好序的数组。

二分法的基本思路和步骤是:
1.找到数组的起始坐标和末尾坐标并记录。
2.找到数组的中间元素坐标并记录。
3.将需要查找的元素跟中间元素进行比较,如果大于中间元素,则截取中间元素以后的所有元素作为新的数组,将中间元素设为新数组的起始元素,如果小于中间元素,则截取中间元素以前的所有元素作为新的数组,将中间元素作为新数组的末尾元素。
4.如果需要查找的元素正好等于中间元素,则查找结束,此时的中间元素为需要查找的元素。
5.如果不等于中间元素,重复步骤3,步骤4,直至相等,此时找出查找出目标元素。

二分法的java代码实现:

public static int binarySearch(int[] arr, int value) {
        int min = 0;
        int max = arr.length - 1;
        while (min <= max) {
            int mid = (max + min) >>1;
            if (arr[mid] == value) {
                return mid;
            }
            if (value < arr[mid]) {
                max = mid - 1;
            }
            if (value > arr[mid]) {
                min = mid + 1;
            }
        }
        return -1;
    }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值