二分查找法

aa

package com.sam.searchalgorithm;

public class Bisect {

	public static int bisect(int a[], int n, int v) {
		int i, j, m;
		i = 0;
		j = n - 1;
		while (i <= j) {
			m = (i + j) / 2;
			if (v == a[m])
				return (m);
			if (v < a[m])
				j = m - 1;
			else
				i = m + 1;
		}
		return -1;
	}

	public static void main(String[] args) {
		int a[] = { 1, 3, 5, 7, 9 };
		int v = 5;
		System.out.println(Bisect.bisect(a, 5, 3));
	}

}
 

zz

 

二分查找法(递归和非递归实现) 二分查找发:      二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。(借鉴百度百科)时间复杂度为:log2n,即log以2为底,n的对数。      1.递归方式完成二分查找法:         /** * 递归方法实现二分查找法. * @p 阅读详情

相关推荐

c语言 二分查找法 及二分查找法的时间复杂度。

二分查找法是用来查找数组中指定的那个元素。使用二分查找的前提是数组是有序的。(这里我们假设是升序) 在现实生活中,我们要猜一个区间内的数字,比如1~10之间,我们通常会猜它的中间数5,再根据要猜的数和这个中间数作比较,从而达到缩小区间的目的,提高我们猜中的几率。 这里我们假设数组arr={1,2,3,4,5,6,7,8,9,10},里面有10个元素,我们要找到7。在c语言中,数组首元素下标是从0开始,即1,2,3,4,5,6,7,8,9,10 ...

weixin_56931868的博客 1633

c语言实现二分查找法

目录 一.前言 二.二分查找法 1.什么是二分查找法 2.如何用c语言来实现二分查找法 三.总结 一.前言 假如今天我们需要在一个有序的数组中来寻找一个数的下标,就用"1,2,3,4,5,6,7,8,9"这九个数组成的数组来说,假如我们想寻找'2',那很简单我们只用从小到大开始寻找,寻找两次就完成了,但是我们想寻找'7',我们继续用从小到大挨个寻找,这就显得有点慢并且耗时长还没有效率,因此我们可以有一种全新的方法,二分查找法来解决这个问题。 二.二分查找法 1.什么是二分查找法 二分查找

weixin_64448174的博客 1万+

计算机入门必备算法——二分查找法

1、引言 笔者对于计算机的研究一直停滞不前,近期想对一些算法进行复习和进一步的研究,每天都会更新一个新的算法,算法有难有易,层层递进。不希望能学的有多么高深,只希望在一些最基本的算法上有编码的思路,或者在一些生产环境中会应用一些算法来解决实际问题。 就比如今天要介绍的第一个查找算法——二分查找法。假设要在电话薄中找一个名字为K开头的人,很习惯的办法就是从头开始翻页,直到进入以K打头的部分。但是这种方法的缺陷就是要逐一查找,时间较长。 于是我们可以有另外一个思路就是每次从中间开始查找,而以K打头的名字就

qq_37036915的博客 531

Java算法之二分查找法

本章介绍Java实现二分查找法,欢迎各位同学转载,但转载务必注明出处:https://blog.youkuaiyun.com/qq_35101450/article/details/89194473,谢谢~ 什么是二分查找法 二分查找法也叫折半查找法,是一种效率比较高的查找方法,它要求被查找的数组是有序的。 二分查找原理 案例:大家应该都玩过猜数字游戏吧,比如我们要从1到100找出某一个数,一般我们会...

科科然的博客 1812

吹气压力传感器US6310 US6330调试

更换压力传感器, 从US6310 更换为US6330。 6310有一个准备好引脚,AD转换完成后会给MCU一个脉冲 而6330就没有这个功能,6330这个引脚是用来选择SPI还是I2C接口的。(6330没有复位引脚,内部有POR功能) 因此在实现上是有根本区别的, 其它方面使用的命令也不一样, 6310 A8 A9两条命令,一个命令模块醒来,一个命令模块休眠, 6330只有一条命令AA, 命令模块开始转换。 针对这2个模块作为2种处理方法, 1. 6310,可以设置一...

明天乌儿会歌唱 2027

Claude Skills:不是更聪明,而是更“像专家”的 Agent 养成方法

Claude Skills 不是在告诉 Agent“你能做什么”, 而是在约束它“你应该如何思考、如何判断、如何给结论”。

测试者家园 1296

二分查找法详解,解析二分查找法

作者最近突然想到了二分查找法,今天进拿出来跟大家分享一下 二分查找法顾名思义就是把列表分成两份进行查找,即先定义个最小下标start=0和一个最大下标end = len(list),然后通过相加对2求余或者除以2在转换为int类型转换为整数,这个随心而定,即center=(start+end)//2或者center=int((start+end)/2)然后得到list[center]的值,判断它...

z_xiaochuan的博客 2526

最新Mamba环境配置教程:从CUDA到causal-conv1d的完整安装流程

本文提供最新Mamba环境配置教程,涵盖从CUDA到causal-conv1d的完整安装流程。针对深度学习领域的长序列处理需求,详细指导如何正确配置CUDA工具链、安装PyTorch及关键依赖causal-conv1d,解决常见报错问题,并验证mamba-ssm集成效果。

bush的博客 418

数组二分查找法

数组二分查找法 1.二分查找法思想 二分查找的基本思想是将n个元素分成大致相等的两部分,取a[n/2]与x做比较,如果x=a[n/2],则找到x,算法中止;如果x<a[n/2],则只要在数组a的左半部分继续搜索x,如果x>a[n/2],则只要在数组a的右半部搜索x. 2.二分查找法示例 public class MindArray { public static void ...

Bruce小鬼 2028

1. 基于STM32的1.28寸圆形IPS屏(GC9A01)驱动移植实战:软件SPI与硬件SPI双方案详解

本文详细介绍了如何在STM32平台上为1.28寸圆形IPS屏(GC9A01驱动芯片)移植驱动程序,涵盖软件SPI与硬件SPI两种实现方案。内容从引脚定义、工程搭建、GPIO配置到SPI外设初始化逐步详解,并提供了完整的测试代码,帮助开发者根据项目需求(灵活性或性能)选择合适的通信方式,快速点亮屏幕并集成到智能手表等嵌入式项目中。

weixin_42300144的博客 203

全网最全的AItium Designer 16下载资源与安装步骤

Altium Designer 除了全面继承包括Protel 99SE、Protel DXP在内的先前一系列版本的功能和优点外,还增加了许多改进和很多高端功能。该平台拓宽了板级设计的传统界面,全面集成了FPGA设计功能和SOPC设计实现功能,从而允许工程设计人员能将系统设计中的FPGA与PCB设计及嵌入式设计集成在一起。...

WQ的博客 1万+

java:二分查找法

工作原理 它又被称之为折半查找法。将数组中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将数组分成前、后两个子数组,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子数组,否则进一步查找后一子数组。重复以上过程,直到找到或找不到位置。 与线性查找法的对比 线性查找法遍历数组中的每一个元素,从一段开始逐一检查每个元素,直到找到所需元素位置。 二分查找法则不...

安利不求人 530

AI游戏制作07——波次计时器,敌人按波次生成

AI游戏制作07——波次计时器,敌人按波次生成

qq_40572023的博客 48

二分查找法之GGBond版

文章目录一、什么是二分查找法?二、使用思路 题目:利用二分查找法,查找一个有序整数数组中的目标值的下标。 一、什么是二分查找法? 二分查找法又称折半查找法,是一种在有序整数数组中查找目的元素的一种方法。 二、使用思路 1.找到左值head和右值end 2.中值middle=(head+end)/2 3.如果中值等于目标值则直接输出答案,否则判断目标值在左域还是右域(因为是有序数组,所以通过大小就可以判断啦) 4.若目标值在左域(右域),只需将右值(左值)替换为中值,继续进行相同操作即可。 代码如下: #.

qq_49729886的博客 1027

智能车图像处理2-入门级分析1 ---基础扫线

PS :入门级文章适合新手,如果已经有基础可以去看进阶篇文章。

taiyuezyh的博客 7763

QT实现计算器(C/C++)

digitClicked()槽函数用于处理数字按钮的点击事件,operatorClicked()槽函数用于处理运算符按钮的点击事件,equalsClicked()槽函数用于处理等号按钮的点击事件。在operatorClicked()槽函数中,我们获取被点击按钮的文本作为当前运算符,并将文本框中的内容转换为双精度浮点数,存储为操作数1。在上述代码中,我们添加了一个私有成员变量m_operand1,用于存储第一个操作数的值,以及一个私有成员变量m_currentOperator,用于存储当前运算符的值。

CyberNova的博客 385

Java实现二分查找法

对于无序的数组,二分查找法是行不通的,因为二分查找法的前提条件就是:有序。 代码: /** * 二分查找的实现 * * @param array 待查找的数组 * @param searchNum 待查找的数字 * @return 查找的结果,为正数的时候,表示下标,-1表示没找到 */ static int binarySearchImpl(int[] array, int searchNum) { int low = 0; int high = array.length - 1; in

weixin_45673552的博客 227

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

算法:你不知道的二分查找法的那些事

jk

Adorablenewbaby的博客 367

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

java 二分查找法

二分查找法,又称折半查找法,其算法思想是: 在有序的序列,每次都是以序列的中间位置的数来与待查找的关键字进行比较,每次缩小一半的查找范围,直到匹配成功。值得注意的是,数组必须是有序的,如果是无序数组二分查找法就会出错,这也算是二分查找法的缺点之一。 public class Test001 { public static Integer count = 0; public stat...

91奔跑的蜗牛 212

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

java二分查找法_java算法-二分查找法

二分查找法的前提是数据必须是有序排列的数据,如果不是那将失去二分查找法的意义。其中二分查找法有两种实现方式while、递归方法实现。下面我们来看下它的代码。public class maxtest {public static void main(String[] args) {//###################二分查找法start###################//int[] ar...

weixin_42169674的博客 411
上一篇: java 集合类图形解释
下一篇: Java/JSP中文乱码问题解决心得
O2AtomLife
博客等级 码龄19年 2粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值