Java实现快速查找(又名二分查找)
Java中的快速查找
条件:快速查找只能在有序数组中使用
快速查找的原理:
通过输入的数和中间的数进行对比大小确定要查找的数的范围,最后将范围缩小到1和要查找的数进行对比找到了输出下标,找不到输出“找不到”。。
代码实现
public class RecursionSeek {public static void main(String[] args) {int []arr ={1,2,3,4,5,6,7,8,9,10};int X = -1;search(arr,X);search1(arr,0,arr.length-1,X);}
//递归方法查找private static void search1(int []arr,int start,int end,int X) {int mid =(start+end)/2;if (X==arr[mid]){System.out.println("找到了下标是:"+mid);return;}else if(X>arr[mid]){start = mid+1;}else {end = mid-1;}if(start<=end)search1(arr,start,end,X);elseSystem.out.println("找不到");}
//循环方法查找private static void search(int []arr,int X) {int start =0,end = arr.length-1,mid = (start+end)/2;while(start<=end){if(X==arr[mid]){System.out.println("找到了,下标是:"+mid);return;}else if(X>arr[mid]){//在右边start = mid+1;}else {end = mid-1;}mid = (start+end)/2;}System.out.println("找不到");}}
没十遍练习那是根~~~本学部会的
Java实现快速查找(又名二分查找)相关推荐
- Java有序表查找:折半查找、二分查找、差值查找和斐波那契查找
Java有序表查找:折半查找.二分查找.差值查找和斐波那契查找 [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/51 ...
- 线性查找法java代码_Java线性查找和二分查找
Java线性查找和二分查找. 一 线性查找 定义:在一列给定的值中进行搜索,从一端开始逐一检查每个元素,直到找到所需元素的过程. 线性查找又称为顺序查找.如果查找池是某种类型的一个表,比如一个数组,简 ...
- 【Java数据结构与算法】第九章 顺序查找、二分查找、插值查找和斐波那契查找
第九章 顺序查找.二分查找.插值查找和斐波那契查找 文章目录 第九章 顺序查找.二分查找.插值查找和斐波那契查找 一.顺序查找 1.基本介绍 2.代码实现 二.二分查找 1.基本介绍 2.代码实现 三 ...
- 【Java】 查找数组中指定元素之 顺序查找 与 二分查找
今天博主分享两个查找数组中指定元素的算法:顺序查找与二分查找 小小目录 1.顺序查找 2. 二分查找 1.顺序查找 给定一个数组, 再给定一个元素, 找出该元素在数组中的位置. 代码如下: //顺序查 ...
- java数组线性查找_数组查找: 线性查找与二分查找
前言 从数组中查找你需要的数据,是一个很常见的需求,那么当你查找所需数据时,用什么方法查找速度最快? 本文将通过图文形式,详细讲解线性查找与二分查找,并用JavaScript将其实现,欢迎各位感兴趣的 ...
- Java数据结构与算法 线性查找和二分查找
查找 查找(searching)是在一组数据项中找到指定的目标元素(target element)或者判定组内不存在目标的过程.要查找的数据项组有事成为查找池(search pool). 在此讨论两种 ...
- 【Golang第6章:排序和查找】golang怎么排序,golang的顺序查找和二分查找,go语言中顺序查找二分查找介绍和案例
介绍 这个是在B站上看边看视频边做的笔记,这一章是GO语言的排序和查找 有golang怎么排序,golang的顺序查找和二分查找,go语言中顺序查找二分查找介绍和案例,具体请看[文章目录] 配套视频自 ...
- 2.11 性能对比:顺序查找与二分查找
顺序查找: public static int orderSearch(int[] nums,int k){for(int i = 0;i<nums.length;i++){if(nums[i] ...
- 让你秒懂的折半查找(二分查找)
折半查找又称二分查找,只能适用于有序的顺序表. //折半查找 int Bsearch(int R[],int low,int high,int key){int min;while(low<=h ...
- 动态数组,数组初始化,数组内存释放,向数组中添加一个元素,向数组中添加多个元素,数组打印,顺序查找,二分查找,查找数组并返回地址,冒泡排序,改变数组中某个元素的值,删除一个数值,删除所有,查找含有
1定义接口: Num.h #ifndef_NUM_H_ #define_NUM_H_ #include<stdio.h> #include<stdlib.h> /**** ...
最新文章
- 【收藏】Linux 运维必备的 40 个命令总结
- golang适合做什么_什么八字适合做销售 适合做销售的八字特征
- 【读书】《非暴力沟通》
- Python入门:局部变量与全局变量2
- Python学习教程:Python自动化测试框架需要学习哪些?
- Microsoft Sharepoint server 2.0 (wss) 服务器升级为额外的主域控制器
- 微服务业务日志收集方案
- FFmpeg无损转换ts为mp4
- 开发团队人员配备及工作分配
- 蔬菜出口流程 |外贸流程
- funcode之c++版弹弹堂(第一个设计实验)
- An annotation management system for relational databases(论文阅读)
- DANet Daul Attention位置和通道注意力(PAM&CAM)keras实现
- 理解线性变换和基(坐标)变换
- Flink JobManager占用注册端口引起的小问题
- 面向开发人员的代码安全指南
- 面包屑导航:最佳实践和范例
- 搭建自己的NAS存储之 - 选择一款属于自己NAS 系统
- Magpie免费开源、支持多平台的的滚动抽奖系统
- linux怎么查看oracle数据库版本,CentOS下查看Oracle数据库版本
热门文章
- 微信支付商家转账到零钱功能使用教程
- 二进制模2除法(CRC校验)
- Python之numpy 中linspace函数
- launching IDEA-If you already have a 64-bit JDK installed, define a JAVA_HOME...问题解析处理
- 串口协议发送数据格式详细分析
- 平面设计基础(PS)知识点总结
- 微信小程序 tab点击切换(不滑动)
- Springboot项目调用阿里云语音服务案例【真实有用】
- wx小程序 解决子组件样式不起效
- 学Python,用Python自动创建PDF文档,实现办公自动化