前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java二分搜索算法实现

Java二分搜索算法实现

作者头像
名字是乱打的
发布2022-05-13 10:17:17
2340
发布2022-05-13 10:17:17
举报
文章被收录于专栏:软件工程

前提:有序 无序是没法用二分法进行搜索查找的

代码语言:javascript
复制
package com.day1;
public class 二分算法 {
    public static void main(String[] args){
        int[] array={1,2,4,6};
        int num=3;
        int returnIndex = findAndReturnIndex(array, num);
        System.out.println(returnIndex);
    }

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

二分查找法的时间复杂度: 按照最不理想的情况:每次遍历会去掉一半注定不会搜索到的数据 如果是N条数据,则一共需要过滤Log2 N次 即二分查找法时间复杂度为O(log2 N)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档