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实现快速查找(又名二分查找)相关推荐

  1. Java有序表查找:折半查找、二分查找、差值查找和斐波那契查找

    Java有序表查找:折半查找.二分查找.差值查找和斐波那契查找     [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/51 ...

  2. 线性查找法java代码_Java线性查找和二分查找

    Java线性查找和二分查找. 一 线性查找 定义:在一列给定的值中进行搜索,从一端开始逐一检查每个元素,直到找到所需元素的过程. 线性查找又称为顺序查找.如果查找池是某种类型的一个表,比如一个数组,简 ...

  3. 【Java数据结构与算法】第九章 顺序查找、二分查找、插值查找和斐波那契查找

    第九章 顺序查找.二分查找.插值查找和斐波那契查找 文章目录 第九章 顺序查找.二分查找.插值查找和斐波那契查找 一.顺序查找 1.基本介绍 2.代码实现 二.二分查找 1.基本介绍 2.代码实现 三 ...

  4. 【Java】 查找数组中指定元素之 顺序查找 与 二分查找

    今天博主分享两个查找数组中指定元素的算法:顺序查找与二分查找 小小目录 1.顺序查找 2. 二分查找 1.顺序查找 给定一个数组, 再给定一个元素, 找出该元素在数组中的位置. 代码如下: //顺序查 ...

  5. java数组线性查找_数组查找: 线性查找与二分查找

    前言 从数组中查找你需要的数据,是一个很常见的需求,那么当你查找所需数据时,用什么方法查找速度最快? 本文将通过图文形式,详细讲解线性查找与二分查找,并用JavaScript将其实现,欢迎各位感兴趣的 ...

  6. Java数据结构与算法 线性查找和二分查找

    查找 查找(searching)是在一组数据项中找到指定的目标元素(target element)或者判定组内不存在目标的过程.要查找的数据项组有事成为查找池(search pool). 在此讨论两种 ...

  7. 【Golang第6章:排序和查找】golang怎么排序,golang的顺序查找和二分查找,go语言中顺序查找二分查找介绍和案例

    介绍 这个是在B站上看边看视频边做的笔记,这一章是GO语言的排序和查找 有golang怎么排序,golang的顺序查找和二分查找,go语言中顺序查找二分查找介绍和案例,具体请看[文章目录] 配套视频自 ...

  8. 2.11 性能对比:顺序查找与二分查找

    顺序查找: public static int orderSearch(int[] nums,int k){for(int i = 0;i<nums.length;i++){if(nums[i] ...

  9. 让你秒懂的折半查找(二分查找)

    折半查找又称二分查找,只能适用于有序的顺序表. //折半查找 int Bsearch(int R[],int low,int high,int key){int min;while(low<=h ...

  10. 动态数组,数组初始化,数组内存释放,向数组中添加一个元素,向数组中添加多个元素,数组打印,顺序查找,二分查找,查找数组并返回地址,冒泡排序,改变数组中某个元素的值,删除一个数值,删除所有,查找含有

     1定义接口: Num.h #ifndef_NUM_H_ #define_NUM_H_ #include<stdio.h> #include<stdlib.h> /**** ...

最新文章

  1. 【收藏】Linux 运维必备的 40 个命令总结
  2. golang适合做什么_什么八字适合做销售 适合做销售的八字特征
  3. 【读书】《非暴力沟通》
  4. Python入门:局部变量与全局变量2
  5. Python学习教程:Python自动化测试框架需要学习哪些?
  6. Microsoft Sharepoint server 2.0 (wss) 服务器升级为额外的主域控制器
  7. 微服务业务日志收集方案
  8. FFmpeg无损转换ts为mp4
  9. 开发团队人员配备及工作分配
  10. 蔬菜出口流程 |外贸流程
  11. funcode之c++版弹弹堂(第一个设计实验)
  12. An annotation management system for relational databases(论文阅读)
  13. DANet Daul Attention位置和通道注意力(PAM&CAM)keras实现
  14. 理解线性变换和基(坐标)变换
  15. Flink JobManager占用注册端口引起的小问题
  16. 面向开发人员的代码安全指南
  17. 面包屑导航:最佳实践和范例
  18. 搭建自己的NAS存储之 - 选择一款属于自己NAS 系统
  19. Magpie免费开源、支持多平台的的滚动抽奖系统
  20. linux怎么查看oracle数据库版本,CentOS下查看Oracle数据库版本

热门文章

  1. 微信支付商家转账到零钱功能使用教程
  2. 二进制模2除法(CRC校验)
  3. Python之numpy 中linspace函数
  4. launching IDEA-If you already have a 64-bit JDK installed, define a JAVA_HOME...问题解析处理
  5. 串口协议发送数据格式详细分析
  6. 平面设计基础(PS)知识点总结
  7. 微信小程序 tab点击切换(不滑动)
  8. Springboot项目调用阿里云语音服务案例【真实有用】
  9. wx小程序 解决子组件样式不起效
  10. 学Python,用Python自动创建PDF文档,实现办公自动化