二分查询

技术二分查询 二分查询二分查询:package com.cc;/** * @Author: cc * @Create: 2021/12/20 * 二分查询实现步骤: * 1.前提:有已排序数组A (假设

二进制查询

二分查询:

package com . cc;

/**

* @Author: cc

* @Create: 2021/12/20

*二分查询实现步骤:

* 1.前提:已经排序了数组A(假设已经排序)

* 2.定义左边界l .右边界R,确定搜索范围,循环执行二分搜索法(3。4步)

* 3.得到中间指标M=Flor((L R)/2)=存在整数超出最大范围的问题,优化为移位运算:M=(L R)1;

* 4.将中间索引的值A[M]与要搜索的值T进行比较。

* A[M]==T表示找到,返回中间索引。

* A[M] T,中间值右边的其他元素都大于T,所以没必要比较。在中间索引左侧查找,设置M- 1为右边界,再查找。

* A[M]T,中间值左侧其他元素均小于T,无需比较。在中间索引的右边找,把M 1设为左边距,再找。

* 5.当没有找到LR时,循环应该结束。

*/

公共类BinarySearch {

公共静态void main(String[]args){ 0

int [] array={1,3,5,6,12,53,65,77,98,123 };

int target=53

int id=binarysearch(数组,目标);

system . out . println(id);

}

public static int binary search(int[]a,int t){ 0

//定义左边距L、右边距R和中间索引m

int l=0,r=a.length – 1,m;

while(l=r){ 0

//计算中间索引(循环内)

m=(l r)1;//Shift操作1相当于除以2。

if(a[m]==t){ 0

返回m;

}否则如果(a[m]t)}

l=m1;

}else {

r=m-1;

}

}

返回-1;

}

}

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/154986.html

(0)

相关推荐

  • 安装rac时需要注意的问题有哪些

    技术安装rac时需要注意的问题有哪些这篇文章将为大家详细讲解有关安装rac时需要注意的问题有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。安装rac时需要注意的问题1.虚拟机添加共

    攻略 2021年11月10日
  • 手机怎么拍一寸照片,自拍照如何做成一寸证件照

    技术手机怎么拍一寸照片,自拍照如何做成一寸证件照第一步,先打开手机上面的微信,点击下方的“发现”即可手机怎么拍一寸照片。在微信“发现”页面点击“小程序”,并且在输入框内输入证件照。此时,点击手机页面的证件照生成器进入就可

    生活 2021年10月30日
  • C语言 存款预算

    技术C语言 存款预算 C语言 存款预算本关任务:编写一个小程序,计算初始时该存入银行多少钱。任务具体描述如下: 假设银行一年整存整取的月息为1.875%,现在某人手头有一笔钱,他打算在今后5年中,每年年

    礼包 2021年11月27日
  • HTML5+jQuery如何利用JSSDK在网页中获取地理位置

    技术HTML5+jQuery如何利用JSSDK在网页中获取地理位置这期内容当中小编将会给大家带来有关HTML5+jQuery如何利用JSSDK在网页中获取地理位置,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文

    攻略 2021年11月16日
  • css中float属性的属性值有哪些(div的float属性)

    技术css3中float属性怎么用这篇文章主要介绍了css3中float属性怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

    攻略 2021年12月19日
  • playwrightpython教程(python中class教学)

    技术Python中Playwright怎么用这篇文章将为大家详细讲解有关Python中Playwright怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Playwright是Mi

    攻略 2021年12月20日