public class TestBinSearch {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int a[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
System.out.println(binSearch(a, 0, a.length - 1, 100));
}
// 二分查找递归实现
public static int binSearch(int a[], int start, int end, int key) {
int mid = (end - start) / 2 + start;
if (a[mid] == key) {
return mid;
}
if (start >= end) {
return -1;
} else if (a[mid] < key) {
return binSearch(a, mid + 1, end, key);
} else if (a[mid] > key) {
return binSearch(a, start, mid - 1, key);
}
return -1;
}
// 二分查找普通循环实现
public static int binSearch(int a[], int key) {
int mid = a.length / 2;
if (key == a[mid]) {
return mid;
}
int start = 0;
int end = a.length - 1;
while (start <= end) {
mid = (end - start) / 2 + start;
if (key < a[mid]) {
end = mid - 1;
} else if (key > a[mid]) {
start = mid + 1;
} else {
return mid;
}
}
return -1;
}
}
分享到:
相关推荐
Java 二分查找实现 Java 二分查找是搜索有序数组中某个元素的最常用算法之一。它的实现原理是将数组分成两个部分,然后在其中一个部分继续进行搜索,直到找到目标元素或确定目标元素不存在。下面将详细介绍 Java 二...
java 二分查找 java 二分查找java 二分查找 java 二分查找java 二分查找 java 二分查找java 二分查找 java 二分查找java 二分查找 java 二分查找java 二分查找 java 二分查找java 二分查找 java 二分查找java 二分...
以下是一个简单的Java二分查找的示例代码: ```java public class BinarySearchDemo { public static int binarySearch(int[] array, int target) { int left = 0; int right = array.length - 1; while (left...
Java 中实现二分查找的基本步骤如下: 1. 首先,设定查找区间的左右边界,通常为数组的第一个元素索引(0)和最后一个元素索引(数组长度减一)。 2. 计算中间索引,即 (左边界 + 右边界) / 2,确保结果为整数。 3....
以下是一个简单的Java二分查找法实现,假设数组已经排序: ```java public class MyBinary { public static int binarySearch(int[] array, int target) { int low = 0; int high = array.length - 1; while ...
用java二分查找法实现日期搜索 用java二分查找法实现日期搜索 用java二分查找法实现日期搜索
Java二分查找递归算法
### Java二分查找算法知识点详解 #### 一、二分查找算法概述 二分查找算法是一种在有序数组中查找特定元素的搜索算法。其工作原理是通过将目标值与数组中间元素进行比较来缩小搜索范围,进而达到快速查找的目的。...
Java二分查找 Java二分查找是一种高效的搜索算法,用于在有序数组中搜索目标值。该算法的时间复杂度为O(log n),远远优于线性搜索的O(n)时间复杂度。 二分查找的基本思想 二分查找的基本思想是将搜索范围缩小到...
用java实现二分查找法BianrySearch 用java实现二分查找法BianrySearch 用java实现二分查找法BianrySearch
java实现二分查找,包含时间复杂度的计算
JAVA用递归和非递归的方法实现二分查找
本文将深入探讨Java中实现的两种经典算法:二分查找(Binary Search)和快速排序(Quick Sort),并通过一个名为"WorkDemo"的Applet程序来具体阐述它们的实现方式。 **二分查找**是一种在有序数组中查找特定元素的...
二分查找的三种实现方式 分别是: while for 递归
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实现了二分查找,效率较高,思路清晰易懂。
Java二分查找算法实现代码实例 Java二分查找算法实现代码实例主要介绍了Java中的二分查找算法实现代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值。需要的朋友可以参考下。...
在Java中,我们可以使用两种方式实现二分查找:普通方法和递归方法。首先,让我们看看普通方法的实现: ```java public static int binarySearch(int array[], int key) { int mid = array.length / 2; int head ...
在Java中实现二分查找,首先需要一个已排序的数组。在提供的代码示例中,我们有一个名为`sortedArray`的整数数组,包含一系列递增的数值。目标是查找特定的`target`值。 `binarySearch`方法是实现二分查找的核心。...