美文网首页
java 二分查找法

java 二分查找法

作者: 发光驴子 | 来源:发表于2018-01-05 00:00 被阅读0次
//java二分查找法,返回索引,数字必须是有序排列
public static int binarySearch(int[] arr,int key){
    //三个指针变量
    int min=0;
    int max=arr.length-1;
    int mid=0;//中间指针先初始化为0
    //循环折半
    while (min<=max) {
        //公式,计算中间索引
        mid=(min+max)/2;
        if(key>arr[mid]){
            min=mid+1;
        }else if(key<arr[mid]){
            max=mid-1;
        }else{
            //找到元素,返回索引
            return mid;
        }
    }
    
    return -1;
}

二分查找法,大白话,就是把一个数组 从中间分成前半部和后半部,如果要查找的key大于中间的值,那么直接查找后半部,以此类推,如果要查找的key小于中间的值,那么直接查找前半部,以此类推,直到找到为止,找不到返回-1,找到返回索引下标,需要注意的是,二分查找法,必须是一个有序的数组,否则会返回-1,
比较过程是根据索引下标进行的,数组长度不可变。


图片.png

相关文章

  • 二分查找法

    二分查找法 二分查找法(递归)

  • [老实李] 算法初探:二分查找法 Binary Search

    二分查找法主要用来解决查找的问题 1、二分查找法Binary Search (注)对于有序数列才能使用二分查找法。...

  • 二分法查找

    二分法基本查找 二分法遍历查找

  • 排序算法

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

  • 二分法查找

    二分法查找的前提是数组必须排序!!!二分法查找的前提是数组必须排序!!!二分法查找的前提是数组必须排序!!!二分法...

  • 二分排序法

    二分排序法,实际上是二分查找法+直接插入排序法的灵活组合。 先来看看二分查找法,二分查找法的前提是给出的队列是有序...

  • python二分查找算法

    文章概述 二分查找法介绍 简单查找与二分查找对比 二分查找  二分查找算法主要思想:在有序列表中查找指定元素,先从...

  • LeetCode 数组专题 1:二分查找

    二分查找法 说明:二分查找法在代码实现上有模板方法,一定要掌握。 1、二分查找法的使用前提:数组一定要是排好序的,...

  • 二分查找

    以二分法来提升查找效率 二分法查找到key的合适位置 put get delete 二分查找的查找操作为O(log...

  • 二分查找法

    在有序数组中,查找特定元素的方法有许多种,今天和大家分享的是二分查找法,二分查找法,也可以称为对半查找,折半查找,...

网友评论

      本文标题:java 二分查找法

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