首页 > 编程语言 >二分查找算法

二分查找算法

时间:2022-10-04 15:55:47浏览次数:59  
标签:二分 关键字 int mid 待查 算法 查找 low

二分查找算法又叫做折半查找,要求待查找的序列有序,每次查找都取中间的值与待查关键字进行比较,如果中间位置的值比待查关键字大,则
在序列的左半部分继续执行该查找过程,如果中间位置的值比待查关键字小,则在序列的右半部分执行该查找过程,直到查找到关键字为止。否则在序列中没有待查关键字。
只接代码了

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

标签:二分,关键字,int,mid,待查,算法,查找,low
From: https://www.cnblogs.com/Where-am-i/p/16753880.html

相关文章

  • 牛客网高频算法题系列-BM16-删除有序链表中重复的元素-II
    牛客网高频算法题系列-BM16-删除有序链表中重复的元素-II题目描述给出一个升序排序的链表,删除链表中的所有重复出现的元素,只保留原链表中只出现一次的元素。原题目见:BM......
  • AcWing 算法提高课 矩阵乘法
    可以用快速幂的形式求大量的相同矩阵乘法。1、快速幂求斐波那契数列的第n项(n很大)先将斐波那契数列的递推转化成矩阵形式 然后用快速幂求解A^n 例题:求斐波那契数列......
  • 手写现代前端框架diff算法-前端面试进阶
    前言在前端工程上,日益复杂的今天,性能优化已经成为必不可少的环境。前端需要从每一个细节的问题去优化。那么如何更优,当然与他的如何怎么实现的有关。比如key为什么不能使用......
  • 计算机系统进程调度算法
    不同环境的调度算法目标不同,因此需要针对不同环境来讨论调度算法。批处理系统批处理系统没有太多的用户操作,在该系统中,调度算法目标是保证吞吐量和周转时间(从提交到终......
  • AcWing算法提高课 中国剩余定理 求解多个线性同余方程
        注意这里是构造了一个解,ti由于Mi与mi互质,可以用ExGCD求解例题:https://www.acwing.com/problem/content/1300/模板:#include<bits/stdc++.h>usingnamespac......
  • 0464-如何离线分析HDFS的FsImage查找集群小文件
    温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。Fayson的github:​​https://github.com/fayson/cdhproject​​提示:代码块部分可......
  • 二分法的四个简单应用
    一.寻找有序数组中的元素--寻找一个有序数组中的某个元素,并输出其下标//寻找有序数组中的某个元素#include<stdio.h>intmain(){intarr[]={-1,2,4,5,7,8,9,11};int......
  • 月薪20k-40k| 苏州挚途科技视觉SLAM算法工程师招聘
    3D视觉工坊致力于推荐最棒的工作机会,精准地为其找到最佳求职者,做连接优质企业和优质人才的桥梁。公司介绍:苏州挚途科技有限公司,成立于2019年08月08日,坐落在苏州高铁新城。公......
  • 二分图总结
    1.Konig定理:最小点覆盖=最大匹配2.无向图G最大团=补图G'最大独立集3.DAG最小路径覆盖:拆成出点和入点,一条边连接对应出点和入点最小路径覆盖=n-G2最大匹配4.MC问题......
  • 从学算法体会如何更好的学习
    一、第一次学习算法记得第一次学习《数据结构和算法》还是在大学的必修课里,是严蔚敏那一版。那个版本的算法跟《算法导论》一样,代码使用的是伪代码。而我们学习的时候,并......