二分查询

技术二分查询 二分查询二分查询: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)

相关推荐

  • 如何进行JS中的事件冒泡与捕获

    技术如何进行JS中的事件冒泡与捕获这期内容当中小编将会给大家带来有关如何进行JS中的事件冒泡与捕获,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。刚接触 JS 的那个时候,啥也不懂,只想

    攻略 2021年11月16日
  • js事件委托的优点有哪些

    技术js事件委托的优点有哪些这篇文章主要介绍“js事件委托的优点有哪些”,在日常操作中,相信很多人在js事件委托的优点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”js事件委托的优点

    攻略 2021年10月20日
  • 大数据复习

    技术大数据复习 大数据复习大数据复习知识点框架1、大数据概述:复习习题集上的例题即可2、Hadoop:注意单机安装和伪分布式安装的区别,以及Hadoop中块的概念及意义!3、HDFS:(1)名称节点的3

    礼包 2021年11月12日
  • 金银花别名,金银花另外一个名字叫什么

    技术金银花别名,金银花另外一个名字叫什么金银花学名叫忍冬,别名金银藤、银藤、子风藤、鸳鸯藤等金银花别名。 金银花 ,正名为忍冬。“金银花”一名出自《本草纲目》,由于忍冬花初开为白色,后转为黄色,因此得名金银花。是川续断目

    生活 2021年10月31日
  • 简单说下 systemui

    技术简单说下 systemui 简单说下 systemui简单说下 systemui
    因为最近在进行一些 systemui 的开发,所以想简单地介绍一下笔者现在所认知的 systemui(目前的了解还是

    礼包 2021年12月2日
  • LEARNING INVARIANT REPRESENTATIONS FOR REINFORCEMENT LEARNING WITHOUT RECONSTRUCTION

    技术LEARNING INVARIANT REPRESENTATIONS FOR REINFORCEMENT LEARNING WITHOUT RECONSTRUCTION LEARNING INVAR

    礼包 2021年11月1日