public class OrderFind { private int[] elems = { 5, 9, 34, 45, 65, 98, 145, 265 }; public static void main(String[] args) { OrderFind a = new OrderFind(); System.out.println(a.contains(145)); } public int contains(int elem) { int lowerBound = 0; int upperBound = elems.length - 1; int curIn; // 1、判断是否有元素 if (upperBound < 0) { return -1; } while (true) { // 2、取中间索引 curIn = (lowerBound + upperBound) / 2; // 3、判断 // (1)相等直接返回 if (elem == elems[curIn]) { return curIn; // (2)判断中间索引与小索引是否相等 } else if (curIn == lowerBound) {// 只有1或2个元素 if (elem != elems[upperBound]) { return -1; } } else { // (3)修改中间索引 if (elems[curIn] < elem) { lowerBound = curIn; } else { upperBound = curIn; } } } } }
相关推荐
二分查找,也被称为折半查找,是一种在有序数组中查找特定元素的搜索算法。它的基本思想是将数组分成两半,然后比较中间元素与目标值,根据比较结果决定是在左半部分还是右半部分继续查找。这个过程会一直重复,直到...
二分查找算法 二分查找算法是一种高效的查找算法,适用于已经排好序的数组或链表中查找特定的元素。该算法的时间复杂度为O(log n),远远优于顺序查找算法的O(n)。 二分查找算法的基本思想是将数组或链表分成两个...
二分查找算法,二分查找算法课件,二分查找算法PPT
在这个"flash as3 二分查找动画演示"项目中,我们看到的是一个用Flash AS3实现的二分查找算法的可视化教程。 二分查找(Binary Search)是计算机科学中一种高效的数据检索方法,适用于已排序的数组或列表。它的基本...
二分查找是一种在有序数组中查找特定元素位置的算法,它利用数组元素排序的特性,通过比较数组中间元素与目标值的大小,将查找区间缩半来加快查找速度。该算法适用于有序集合,能够将时间复杂度从线性查找的O(n)降低...
二分查找算法是一种高效的数据搜索方法,主要应用于已排序的序列。它的基本思想是通过不断地将待搜索区域减半来快速定位目标值。这个过程基于分治策略,将大问题分解为更小的子问题来解决。在二分查找算法中,每次...
### C++ 二分查找法详解 在计算机科学领域,数据结构与算法是核心课程之一,其中二分查找法(Binary Search)是一种高效的查找技术,尤其适用于有序数组或列表的搜索场景。本文将深入探讨C++中实现二分查找法的具体...
二分查找算法是一种在有序数组中查找特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是目标值,则搜索结束;如果目标值大于或小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且...
Java 二分查找实现 Java 二分查找是搜索有序数组中某个元素的最常用算法之一。它的实现原理是将数组分成两个部分,然后在其中一个部分继续进行搜索,直到找到目标元素或确定目标元素不存在。下面将详细介绍 Java 二...
二分查找,也被称为折半查找,是一种在有序数组中高效地查找特定元素的搜索算法。这个算法的主要思想是利用数组的有序性,通过不断缩小查找范围,直到找到目标值或者确定目标值不存在为止。本篇文章将深入探讨二分...
二分查找,也称为折半查找,是一种在有序数组中搜索特定元素的高效算法。它主要利用了数组的线性特性,通过不断缩小搜索范围来快速定位目标值。在VB(Visual Basic)中,实现二分查找需要理解基本的逻辑控制和数组...
折半查找算法,也称为二分查找算法,是一种在有序序列中快速定位特定元素的技术。由于其高效性和广泛的适用性,二分查找在计算机科学领域得到了广泛的应用,尤其在处理大数据量的有序数据时,其优势更为明显。本文将...
在给定的代码中,二分查找算法函数sq_Dichotomy_Search0实现了有序数组的二分查找。它的参数包括被查找数组、数组元素个数和被查找的关键值。函数返回的值是目标元素在数组中的下标,如果没有找到则返回-1。 插值...
二分查找,也被称为折半查找,是一种在有序数组中高效搜索特定元素的算法。它以其高效率和在适当数据结构中的广泛适用性而闻名。本文将深入探讨两种不同的二分查找实现:健忘版和识别版,并分析它们的效率差异。 ...
这里我们将深入探讨两种常见的查找算法:二分查找和顺序查找。 **一、顺序查找** 顺序查找是最基础的查找算法之一。它的工作原理是从数据集(如数组或列表)的第一个元素开始,逐个比较目标值与当前元素,直到找到...
在Java编程中,文件读取、数组操作、选择排序以及二分查找是常见的编程任务,它们涉及了IO流、数据结构和算法等多个方面。以下是这些知识点的详细解释: 1. **文件读取**:Java提供了丰富的IO流类库用于读取文件。...
二分查找算法,也称为折半查找,是计算机科学中一种高效的搜索算法,尤其适用于已排序的数据集合。这种算法的基本思想是将数据集分为两半,每次比较中间元素与目标值,根据比较结果缩小搜索范围,直至找到目标值或者...
**二分查找(Binary Search)**是一种在有序数组中寻找特定元素的搜索算法。它的基本思想是通过比较中间元素与目标值,不断缩小搜索范围,直到找到目标元素或者确定其不存在。二分查找的时间复杂度为O(log n),在大...