美文网首页
算法:二分法查找(折半查找法)

算法:二分法查找(折半查找法)

作者: 禅之风 | 来源:发表于2019-08-05 23:24 被阅读0次

算法:二分法查找(折半查找法)

//二分查找法(折半查找法)
    public static int halfSearch(int[] arr,int number){
        int min =0;  //最小下标
        int max =arr.length-1;   //最大下标
        int mid = 0;  //中间下标
        while (min<=max){
            //没找到,更新范围继续找
            mid = (min+max)/2;
            if (arr[mid]>number){   //number在mid的左边
                max = mid-1;  //改变最大下标
            }else if(arr[mid]<number){  //number在mid的右边
                min = mid+1;  //改变最小下标
            }else{
                return  mid;
            }
        }
        return -1;
    }

这是最经典的折半查找,而在面试的时候往往会对某些经典的数据结构和算法进行魔改,这道题总是被改成以下的问题:
1.使用二分法对一个数组中的数据进行查找,返回目标数值所在的下标:包含与目标值重复的所有左边的值
2.使用二分法对一个数组中的数据进行查找,返回目标数值所在的下标:包含与目标值重复的所有右边的值
3.使用二分法对一个数组中的数据进行查找,返回所有目标数值所在的下标

这些雷你踩过了么?
PS:今天刚踩到了3号复合雷,前来报到!

相关文章

  • 查找算法

    三种查找算法:顺序查找,二分法查找(折半查找),分块查找,散列表

  • 算法:二分法查找(折半查找法)

    算法:二分法查找(折半查找法) 这是最经典的折半查找,而在面试的时候往往会对某些经典的数据结构和算法进行魔改,这道...

  • 刷前端面经笔记(九)

    1.JavaScript实现二分法查找? 二分法查找,也称折半查找,是一种在有序数组中查找特定元素的搜索算法。查找...

  • 解析前端面试之二分查找算法

    二分法查找,也称为折半法,是一种在有序数组中查找特定元素的搜索算法。 二分法查找的思路如下: (1)首先,从数组的...

  • 【爬虫】数据结构实现折半查找的算法

    数据结构实现折半查找的算法 折半查找技术,也就是二分查找,通常称为二分法查找。它的前期是线性表中的记录必须是关键码...

  • 前端面试之算法二分法

    使用二分法的前提是,目标数组的元素必须是有序排列的,所以二分法属于有序查找算法 二分法又称为“折半查找”,从数组的...

  • js实现二分法查找方法

    所谓二分法查找法,也就是折半查找,它是一种在有序数组查找特定元素的搜索算法。 参考《前端程序员面试秘籍》 思想:从...

  • 经典算法剖析

    二分查找 二分法查找,也称折半查找,是一种在有序数组中查找特定元素的搜索算法。查找过程可以分为以下步骤:(1)首先...

  • 10个常用算法

    0x01 二分法 原理:二分法查找,也称为折半法,是一种在有序数组中查找特定元素的搜索算法。 一般步驟:(1)确定...

  • 排序算法

    算法与数据结构基础 查找算法: 二分查找法: 简介:二分查找法又被称为折半查找法,用于预排序的查找问题 过程: 如...

网友评论

      本文标题:算法:二分法查找(折半查找法)

      本文链接:https://www.haomeiwen.com/subject/kkcbdctx.html