为了能到远方,脚下的每一步都不能少.|

基本算法之二分查找法折半查找(Java)

前提条件:数组中的数据必须是有序的!

核心思想:每次排除一半的数据,查询数据的性能明显提高很多!

 

 

 

 

 

 

复制代码
public class Task {

    public static void main(String[] args) {
        int[] arr = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71};

        int rst = binarySearch(arr, 31);

        System.out.println(rst);
    }

    // 二分查找算法
    public static int binarySearch(int[] arr, int target) {
        //声名两个指针【int 值】分别记录数组的起始索引和结束索引
        int left = 0;
        int right = arr.length-1;
        int index = 0;
        while (left <= right){
            //计算本次mid索引【中间值索引】,判断本次mid对应的原始值是否满足目标元素
            int mid = (left+right)/2;
            if (arr[mid] == target){
                return mid;
            }else if (arr[mid] > target){
                right = mid - 1;

            }else if (arr[mid] < target){
                left = mid + 1;
            }
        }
        return -1;
    }
复制代码

 

本文作者:好学的耀耀

本文链接:https://www.cnblogs.com/yaomagician/p/17165980.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   好学的耀耀  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起