public class BinaryChop {
private int a[];
private int nElements ;
public int find(int searchKey){
int lower = 0;
int upper = nElements -1;
int curIn;
while(true){
curIn = (lower + upper)/2;
if(a[curIn] == searchKey){
return curIn;
}else if(lower > upper)
return nElements;
else{
if(a[curIn] < searchKey)
lower = curIn +1;
else
upper = curIn -1;
}
}
}
public BinaryChop(int a[]){
this.a = a;
this.nElements = a.length;
}
public static void main(String[] args) {
int a[] = new int[100];
for(int i= 0;i <100;i++){
a[i] = i+1;
}
System.out.println(new BinaryChop(a).find(22));
}
}
分享到:
相关推荐
Java 二分查找实现 Java 二分查找是搜索有序数组中某个元素的最常用算法之一。它的实现原理是将数组分成两个部分,然后在其中一个部分继续进行搜索,直到找到目标元素或确定目标元素不存在。下面将详细介绍 Java 二...
java 二分查找 java 二分查找java 二分查找 java 二分查找java 二分查找 java 二分查找java 二分查找 java 二分查找java 二分查找 java 二分查找java 二分查找 java 二分查找java 二分查找 java 二分查找java 二分...
用java二分查找法实现日期搜索 用java二分查找法实现日期搜索 用java二分查找法实现日期搜索
用java实现二分查找法BianrySearch 用java实现二分查找法BianrySearch 用java实现二分查找法BianrySearch
以下是一个简单的Java二分查找法实现,假设数组已经排序: ```java public class MyBinary { public static int binarySearch(int[] array, int target) { int low = 0; int high = array.length - 1; while ...
以下是一个简单的Java二分查找的示例代码: ```java public class BinarySearchDemo { public static int binarySearch(int[] array, int target) { int left = 0; int right = array.length - 1; while (left...
java实现二分查找,包含时间复杂度的计算
JAVA用递归和非递归的方法实现二分查找
二分查找的三种实现方式 分别是: while for 递归
Java二分查找递归算法
二分查找:分别使用Java和Python实现二分查找算法 二分查找:分别使用Java和Python实现二分查找算法 二分查找:分别使用Java和Python实现二分查找算法 二分查找:分别使用Java和Python实现二分查找算法 二分查找:...
Java 中实现二分查找的基本步骤如下: 1. 首先,设定查找区间的左右边界,通常为数组的第一个元素索引(0)和最后一个元素索引(数组长度减一)。 2. 计算中间索引,即 (左边界 + 右边界) / 2,确保结果为整数。 3....
### Java二分查找算法知识点详解 #### 一、二分查找算法概述 二分查找算法是一种在有序数组中查找特定元素的搜索算法。其工作原理是通过将目标值与数组中间元素进行比较来缩小搜索范围,进而达到快速查找的目的。...
while(low){ if(x==arr[mid]){ return mid; } else if(mid>0&&x[mid]){... else if(mid){//若前面没有判断,则当要查找数超过arr数组中最大值时出现死循环。 low=mid+1; mid=(low+high)/2; }
用java实现了二分查找,效率较高,思路清晰易懂。
5. **Test1.java**:这可能是一个实现上述功能的Java源代码文件,包含读取文件、处理数组、选择排序以及二分查找的逻辑。通过查看这个文件的源代码,可以学习到如何在实际项目中应用这些概念。 6. **使用前请看一下...
在Java中实现二分查找,我们可以采用递归或非递归两种方式。以下是对这两种方法的详细介绍: 1. **递归实现**: 递归方法通常更具概念性,它将问题分解为更小的子问题,直到达到基本情况。对于二分查找,我们首先...
Java二分查找 Java二分查找是一种高效的搜索算法,用于在有序数组中搜索目标值。该算法的时间复杂度为O(log n),远远优于线性搜索的O(n)时间复杂度。 二分查找的基本思想 二分查找的基本思想是将搜索范围缩小到...
二分查找 折半查找
二分查找的递归与非递归实现(java版)