如下所示,编写二分查找和使用集合类的二分查找实现

import java.util.Arrays;
import java.util.Scanner;public class DigitalGame {public static void main(String[] args) {int[] arr = {8,4,2,123,344,12};DigitalGame digitalGame = new DigitalGame();digitalGame.answer3(arr);digitalGame.binarySearch(arr,12);System.out.println(Arrays.toString(arr));}/*** 猜数字游戏,判断数组中是否存在*      使用二分法进行判断是否存在* @param arr*/private void answer3(int[] arr){Arrays.sort(arr);Scanner scanner = new Scanner(System.in);System.out.print("请猜数字: ");int target = scanner.nextInt();int i = Arrays.binarySearch(arr, target);if (i>=0){System.out.println("该数存在");}System.out.println("该数不存在");}//下方自己实现的二分查找,应该不合题意——————————————————————————————————————————/*** 二分查找方法* @param arr 查找的数组* @param target 查找的目标* @return 返回查找的结果,为true表示存在*/public Boolean binarySearch(int[] arr,int target){//首先对数组进行排序Arrays.sort(arr);//查找是否存在,定义两个指针 指向数组int firstPoint = 0;int lastPoint = arr.length-1;int midPoint = (firstPoint+lastPoint)/2;while (firstPoint<=lastPoint){if (arr[midPoint]>target){lastPoint = midPoint-1;}else {firstPoint = midPoint+1;}if (arr[midPoint] == target){return true;}midPoint = (firstPoint+lastPoint)/2;}return false;}
}

编写二分查找和使用集合类的二分查找实现相关推荐

  1. 查找算法-(顺序查找、二分查找、插值查找、斐波那契查找)

    1)顺序查找或叫线性查找 就是顺序遍历匹配 2)二分查找 package search;public class BinarySearch {/*** 二分查找数组必须有序*//**** @param ...

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

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

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

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

  4. java 二分搜索获得大于目标数的第一位_程序员常用查找算法(顺序、二分、插值、分块、斐波那契)...

    顺序查找 基本思想 属于线性查找和无序查找,从一端开始顺序扫描,直到找到与目标值value相等的元素. 这是最基本的查找方法,也是时间复杂度最高的查找算法. 在数据过多时,这种方法并不适用. 代码实现 ...

  5. java数组二分查找_java 13-1 数组高级二分查找

    查找: 1.基本查找:数组元素无序(从头找到尾) 2.二分查找(折半查找):数组元素有序 pS:数组的元素必须有顺序,从小到大或者从大到小.以下的分析是从小到大的数组 二分查找分析: A:先对数组进行 ...

  6. python中二分查找什么意思_python中二分查找法的实现方法

    如果想要在有序数据中进行查找想要的数据,二分查找法就个好方法,它可以大大缩短了搜索时间,是一种常见的查找方法.二分查找很好写,却很难写对,下面,小编就简单向大家介绍一下二分查找,并演示器使用代码. 1 ...

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

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

  8. php二分查找算法时间复杂度,一个运用二分查找算法的程序的时间复杂度是什么...

    一个运用二分查找算法的程序的时间复杂度是"对数级别".二分查找是一种效率较高的查找方法,算法复杂度即是while循环的次数,时间复杂度可以表示"O(h)=O(log2n) ...

  9. (王道408考研数据结构)第七章查找-第二节2:二分查找及其判定树

    文章目录 一:二分查找法基本思想 二:二分查找法代码 三:二分查找法效率分析 三:二分查找判定树的构造 (1)规律 (2)构造 (3)特点 (4)时间复杂度 一:二分查找法基本思想 二分查找法(Bin ...

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

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

最新文章

  1. 微软更新Linux子系统,编译WSL 2内核只需3步
  2. 上传的镜像无法用来启动云主机
  3. openmv探索_2_追踪单颜色
  4. INT 21H 指令说明及使用方法
  5. 用MySQL语言创建视图_mysql 创建视图
  6. python初学者(四)---键值对
  7. 计算机主机ip地址题,计算机网络IP地址练习习题
  8. 想在抖音上卖衣服不知道怎么入手,抖音小店改销量技术
  9. C语言方波转换正弦波,方波转换成正弦波电路
  10. 女子人身安全防卫指南
  11. scp远程拷贝命令及not a regular file 解决方案
  12. 怎么调用计算机任务管理器,任务管理器怎么打开
  13. python定时发送qq消息_自动给qq好友发消息
  14. matlab 球坐标系作图,使用Matlab的mapping tool在球坐标系下画图
  15. VS Code PHP代码提示和格式化插件 IntelliSense安装使用
  16. python成都_Python抓取成都房价信息
  17. 小百合海外站 lilybbs.us or woft.net 教育网 paradiso.cn:10078
  18. Ninth season twelfth episode,Phoebe fed a bunch of rats!!!!!!
  19. 【iOS】二进制十进制十六进制转换器
  20. 计算机应用基础精品课程申报表,计算机应用基础精品课程申报书.doc

热门文章

  1. Luogu 3423 [POI 2005]BAN-银行票据 (多重背包单调队列优化 + 方案打印)
  2. HDU 2006 (水)
  3. Android - 资源(resource)转换为String
  4. TCP/IP——链路层简记
  5. 使用spark与ElasticSearch交互
  6. hdu1215七夕节
  7. 锋利的jQuery-4--图片切换的一个例子(自己理解后写的,以备忘记时看看)
  8. 判断闰年的方法以及如何获得单链表的倒数第K个元素
  9. CocoaAsyncSocket
  10. windows :32位到64 位