广告
返回顶部
首页 > 资讯 > 精选 >java算法之二分查找法的实例详解
  • 181
分享到

java算法之二分查找法的实例详解

java算法二分查找法 2023-05-31 08:05:45 181人浏览 薄情痞子
摘要

java算法之二分查找法的实例详解原理假定查找范围为一个有序数组(如升序排列),要从中查找某一元素,如果该元素在此数组中,则返回其索引,否则返回-1。通过数组长度可取出中间位置元素的索引,将其值与目标值比较,如果中间位置元素值大于目标值,则

java算法之二分查找法的实例详解

原理

假定查找范围为一个有序数组(如升序排列),要从中查找某一元素,如果该元素在此数组中,则返回其索引,否则返回-1。通过数组长度可取出中间位置元素的索引,将其值与目标值比较,如果中间位置元素值大于目标值,则在左部分进行查找,如果中间位置值小于目标值,则在右部分进行查找,如此循环,直到结束。二分查找算法之所以快是因为它没有遍历数组的每个元素,而仅仅是查找部分元素就能找到目标或确定其不存在,当然前提是查找范围为有序数组。

Java的简单实现

package me.geed.alGorithms;  public class BinarySearch {       public static int find(int key, int[] array){     int low = 0;     int high = array.length - 1;     while (low <= high) {       int mid = low + (high - low) / 2;       if (array[mid] > key) {         high = mid - 1;       } else if (array[mid] < key) {         low = mid + 1;       } else {         return mid;       }           }     return -1;      }      public static void main(String[] args) {     // TODO Auto-generated method stub     int[] array = {2, 3, 5, 9, 10, 13, 23, 45, 78, 89, 100, 128, 256};     System.out.println("目标元素索引值:" + BinarySearch.find(9, array));         System.out.println("目标元素索引值:" + BinarySearch.find(26, array));   }  } 

--结束END--

本文标题: java算法之二分查找法的实例详解

本文链接: https://www.lsjlt.com/news/224292.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java算法之二分查找法的实例详解
    java算法之二分查找法的实例详解原理假定查找范围为一个有序数组(如升序排列),要从中查找某一元素,如果该元素在此数组中,则返回其索引,否则返回-1。通过数组长度可取出中间位置元素的索引,将其值与目标值比较,如果中间位置元素值大于目标值,则...
    99+
    2023-05-31
    java 算法 二分查找法
  • Java二分查找算法实例详解
    在本文中,我们将介绍二进制搜索相对于简单线性搜索的优势,并介绍它在 Java 中的实现。 1. 需要有效的搜索 假设我们在wine-selling业务和数以百万计的买家每天都访问我们...
    99+
    2022-11-13
    Java 二分查找算法
  • Python详细解析之二分查找算法
    本篇文章给大家带来了关于python的相关知识,其中主要整理了二分查找算法的相关问题,包括了算法描述、算法分析、算法思路等等内容,下面一起来看一下,希望对大家有帮助。二分法是一种效率比较高的搜索方法回忆之前做过的猜数字的小游戏,预先给定一个...
    99+
    2022-06-28
    python
  • Python真题案例之二分法查找详解
    目录写在前面的话问题描述原理分析1.实现步骤2.图解参考代码写在前面的话 学了Python一些基础知识之后,相信大家对Python使用方法有了一定的感悟,想要追求深层次的东西还要细细...
    99+
    2022-11-13
  • 详解Go语言实现线性查找算法和二分查找算法
    目录线性查找算法二分查找算法小结线性查找 线性查找又称顺序查找,它是查找算法中最简单的一种。它的基本思想是在在一组数据中,从第一个元素开始,依次和预期值比较,直到和预期值相等,则查找...
    99+
    2022-12-20
    Go线性查找算法 Go二分查找算法 Go查找算法
  • Python算法练习之二分查找算法的实现
    目录1. 算法描述2. 算法分析3. 算法思路4. 代码实现纯算法实现递归法实现1. 算法描述 二分法是一种效率比较高的搜索方法 回忆之前做过的猜数字的小游戏,预先给定一个小于100...
    99+
    2022-11-11
  • Python查找算法之分块查找算法的实现
    一、分块查找算法 分块查找是二分法查找和顺序查找的改进方法,分块查找要求索引表是有序的,对块内结点没有排序要求,块内结点可以是有序的也可以是无序的。 分块查找就是把一个大的线性表分解...
    99+
    2022-11-12
  • java 中二分法查找的应用实例
    java 中二分法查找的应用实例二分查找的前提是:数组有序 注意:mid的动态变化,否则出错!!!  实例代码:public class BiSearch { public static void main(St...
    99+
    2023-05-31
    java 二分法 ava
  • Java实现查找算法的示例代码(二分查找、插值查找、斐波那契查找)
    目录1.查找概述2.顺序查找3.二分查找3.1 二分查找概述3.2 二分查找实现4.插值查找4.1 插值查找概述4.2 插值查找实现5.斐波那契查找5.1 斐波那契查找概述5.2 斐...
    99+
    2022-11-13
  • java实现二分法查找
    什么是二分法查找:二分法也就是折半查找,在有序的数列中查找指定的元素,设定最小索引(low)和最大索引(height-1)还有中间值mid((low+height-1)/2),这种查找,如果中间值比指定元素小让low=mid+1,如果中间值...
    99+
    2015-07-23
    java入门 java 实现 二分法查找
  • JS中二分查找算法的示例分析
    这篇文章将为大家详细讲解有关JS中二分查找算法的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。二分法查找,也称折半查找,是一种在有序数组中查找特定元素的搜索算法。...
    99+
    2022-10-19
  • Java二分查找算法与数组处理的应用实例
    目录1.特殊数组的特征值题目描述思路详解代码与结果2.在D天内送达包裹的能力题目描述思路详解代码与结果3.咒语和药水的成功对数题目描述思路详解代码与结果总结1.特殊数组的特征值 题目...
    99+
    2022-11-13
  • Python实现二分法查找及优化的示例详解
    目录1.二分查找的原理2.二分查找的实现3.二分查找的优化4.总结二分查找法(Binary Search)是一种在有序数组中查找某一特定元素的算法,它的思想是将数组从中间分成两部分,...
    99+
    2023-05-16
    Python实现二分法查找 Python二分法查找 Python查找
  • 详解Python查找算法的实现(线性,二分,分块,插值)
    目录1. 线性查找2. 二分查找3. 插值查找4. 分块查找5. 总结查找算法是用来检索序列数据(群体)中是否存在给定的数据(关键字),常用查找算法有: 线性查找:线性查找也称为顺序...
    99+
    2022-11-10
  • java数据结构之二分查找法binarySearch的示例分析
    这篇文章给大家分享的是有关java数据结构之二分查找法binarySearch的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。java数据结构之二分查找法 binarySearch的实例折半查找法,前提是...
    99+
    2023-05-31
    java
  • python二分法查找实例代码
    对于要搜索的元素越多,二分查找速度比简单查找快的更多 这是二分查找算法的优点,但二分算法也有缺点,二分算法只针对有序的列表,这样插入和删除就会很困难,因此,折半查找方法只适合不经常变...
    99+
    2022-11-12
  • Java顺序查找算法详解
    目录一、查找的基本概念1.查找表2.关键字3.查找4.动态查找表与静态查找表5.平均查找长度二、顺序查找法1.概念2.实践一、查找的基本概念 在讲顺序查找法之前先来认识一些关于查找的...
    99+
    2022-11-13
    Java 顺序查找 Java顺序查找算法
  • 快速查找与二分查找算法如何在Java中实现
    这期内容当中小编将会给大家带来有关快速查找与二分查找算法如何在Java中实现,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1. 快速查找:这个是相当简单的,以数组举例,就用一个for循环去查找数组中需要查...
    99+
    2023-05-31
    java 快速查找 二分查找
  • C语言数据结构之二分法查找详解
    问题:在有序数组中查找给定元素的下标goal。 在查找一个数组元素的下标,可以用循环来解决,但是如果一个数足够大,比如说手机的价格,用循环来查找,就相当于叫一个人猜,从0开始,需要猜...
    99+
    2022-11-13
  • Python查找算法之插补查找算法的实现
    一、插补查找算法 插补查找算法又称为插值查找,它是折半查找算法的改进版。插补查找是按照数据的分布,利用公式预测键值所在的位置,快速缩小键值所在序列的范围,慢慢逼近,直到查找到数据为止...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作