`
yanguz123
  • 浏览: 568525 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

\(^_^)/ 二分查找

    博客分类:
  • Code
 
阅读更多

参考:http://blog.csdn.net/toddhan/article/details/7942952

参考:http://www.cnblogs.com/kaituorensheng/p/3164915.html

参考:http://wintys.blog.51cto.com/425414/94051/

参考:http://www.cnblogs.com/red-fox/archive/2011/11/24/2262077.html

 

 

public class BinarySearch {

	public static void main(String[] args) {
		int[] array = new int[1000];
		for (int i = 0; i < array.length; i++) {
			array[i] = i;
		}

		System.out.println(binarySearh(array, 300));
	}

	public static int binarySearh(int[] array, int val) {
		int low = 0, high = array.length;
		while (low <= high) {
			int mid = (low + high) / 2;
			if (array[mid] < val) {
				low = mid + 1;
			} else if (array[mid] > val) {
				high = mid - 1;
			} else {
				return mid;
			}
		}
		return -1;
	}
}

 

 

 

 

分享到:
评论

相关推荐

    二分查找_测试

    二分查找,也被称为折半查找,是一种在有序数组中查找特定元素的搜索算法。它的基本思想是将数组分成两半,然后比较中间元素与目标值,根据比较结果决定是在左半部分还是右半部分继续查找。这个过程会一直重复,直到...

    BST_javaBST_https://bst.91_bstcom_

    二分搜索树(Binary Search Tree,简称BST)是计算机科学中一种重要的数据结构,它是一种自平衡的二叉查找树。在BST中,每个节点都包含一个键(key)、一个关联的值、一个指向左子节点的引用以及一个指向右子节点的...

    agns.zip_buy72i_weightmfw_人工智能/神经网络/深度学习

    4. **SEARCH**:这可能是一个关于搜索算法的目录或文件,比如二分查找、哈希查找、线性查找等,对于理解不同搜索策略及其效率有很大帮助。 5. **SORT**:同样,这可能包含排序算法的实现,如冒泡排序、快速排序、...

    erfenchaz.rar_二分查找_二分查找函数

    二分查找,也称为折半查找,是一种在有序数组中高效寻找特定元素的搜索算法。它的基本思想是通过不断地将待查找的区间减半,快速定位到目标元素的位置。二分查找的优势在于其时间复杂度为O(log n),在大数据量的有序...

    c/c++二分查找修改版

    s[middle] 关键字小于中值 继续二分查找 并将上限改为middle BinarySearch s x low middle 1 ; else 关键字大于中值 继续二分查找 并将下限改为middle BinarySearch s x middle + 1 high ;"&gt;if high &lt; low ...

    第8章 查找_2020.zip_文章/文档_C/C++__文章/文档_C/C++_

    二分查找将数组分为两半,每次比较中间元素,根据比较结果缩小查找范围。时间复杂度为O(log n)。 2. 哈希查找:通过哈希函数将数据映射到固定大小的哈希表中,查找速度非常快,理想情况下可达到O(1)。然而,处理...

    二分查找算法C++,递归和迭代

    //二分查找 #include const int MAXN=10010; using namespace std; //二分查找,递归实现 int binarySearch(int a[],int low,int high,int key) { //查找某元素是否在数组中,若存在,则返回下标,否则...

    java 二分查找 java 二分查找

    java 二分查找 java 二分查找java 二分查找 java 二分查找java 二分查找 java 二分查找java 二分查找 java 二分查找java 二分查找 java 二分查找java 二分查找 java 二分查找java 二分查找 java 二分查找java 二分...

    二分查找算法

    二分查找算法 二分查找算法是一种高效的查找算法,适用于已经排好序的数组或链表中查找特定的元素。该算法的时间复杂度为O(log n),远远优于顺序查找算法的O(n)。 二分查找算法的基本思想是将数组或链表分成两个...

    二分查找算法PPT课件

    二分查找算法,二分查找算法课件,二分查找算法PPT

    查找算法:二分查找、顺序查找

    这里我们将深入探讨两种常见的查找算法:二分查找和顺序查找。 **一、顺序查找** 顺序查找是最基础的查找算法之一。它的工作原理是从数据集(如数组或列表)的第一个元素开始,逐个比较目标值与当前元素,直到找到...

    折半查找(二分查找)折半查找(二分查找)折半查找(二分查找)

    "折半查找(二分查找)" 折半查找(二分查找)是一种高效的查找算法,对于顺序存储的有序表,可以快速地找到指定的关键字记录。该算法的基本思想是,每次比较给定值 K 与中间位置记录的关键字值,并根据比较结果...

    二分查找解题

    二分查找,也被称为折半查找,是一种在有序数组中高效地查找特定元素的搜索算法。这个算法的主要思想是利用数组的有序性,通过不断缩小查找范围,直到找到目标值或者确定目标值不存在为止。本篇文章将深入探讨二分...

    查找算法集(顺序查找、二分查找、插值查找、动态查找)

    在给定的代码中,二分查找算法函数sq_Dichotomy_Search0实现了有序数组的二分查找。它的参数包括被查找数组、数组元素个数和被查找的关键值。函数返回的值是目标元素在数组中的下标,如果没有找到则返回-1。 插值...

    java二分查找实现

    Java 二分查找实现 Java 二分查找是搜索有序数组中某个元素的最常用算法之一。它的实现原理是将数组分成两个部分,然后在其中一个部分继续进行搜索,直到找到目标元素或确定目标元素不存在。下面将详细介绍 Java 二...

    二分查找算法流程图流程图举例

    二分查找算法是一种在有序数组中查找特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是目标值,则搜索结束;如果目标值大于或小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且...

    erfenchazhao.rar_erfenchazhao_二分查找_二分法编程

    二分查找,也称为折半查找,是一种在有序数组中搜索特定元素的高效算法。它利用了数组的线性特性,每次将待搜索区域减半,直到找到目标元素或者确定其不存在。这种方法大大减少了查找所需的平均时间复杂度,从线性...

    深入理解二分查找(一、二分查找及其变体)

    **二分查找(Binary Search)**是一种在有序数组中寻找特定元素的搜索算法。它的基本思想是通过比较中间元素与目标值,不断缩小搜索范围,直到找到目标元素或者确定其不存在。二分查找的时间复杂度为O(log n),在大...

    二分查找办法

    二分查找,也被称为折半查找,是一种在有序数组中高效搜索特定元素的算法。它以其高效率和在适当数据结构中的广泛适用性而闻名。本文将深入探讨两种不同的二分查找实现:健忘版和识别版,并分析它们的效率差异。 ...

Global site tag (gtag.js) - Google Analytics