package com.algorithm.sort;
public class BinarySearch {
/**
* 二分查找法
* @param args
*/
public static void main(String[] args) {
int[] sourceArray = {9, 12, 15, 22, 24, 27, 31, 42, 48, 73};
int key = 31;
String result = search(sourceArray, key, 0, sourceArray.length-1);
System.out.println(result);
}
private static String search(int[] sourceArray, int key, int low, int high){
while(high >= low){
int middle = low + (high - low)/2;
if(sourceArray[middle] == key){
return key + "在sourceArray中的第" + middle + "位!";
}else if(sourceArray[middle] > key){
high = middle - 1;
}else{
low = middle + 1;
}
System.out.println(sourceArray[middle]);
}
return "没有找到该数";
}
}
分享到:
相关推荐
二分查找是一种高效的查找算法,它的实现方式是将数组或链表分成两个部分,然后比较目标元素和中间元素,如果目标元素小于中间元素,则在左半部分继续查找,否则在右半部分继续查找。二分查找的时间复杂度为O(logn)...
二分查找法也称为折半查找法,它是在有序数组中进行查找的一种高效方法。这种方法利用了数组有序的特点,通过不断将查找区间对半分割来减少搜索范围,从而显著提高查找效率。二分查找的时间复杂度为O(logn),这使得...
在给定的标题“二分查找算法”和描述“二分查找,完整工程文件,源代码,VS2010”中,我们可以推测这可能是一个关于如何实现二分查找算法的C++项目,使用了Visual Studio 2010作为开发环境。 二分查找算法的基本...
二分查找是一种基于分治策略的高效搜索算法,主要应用于有序数据集合。在给定的升序排列的数组a[0:n-1]中,二分查找的目标是找到特定元素x的位置,或者确认元素不在数组中。算法的基本步骤如下: 1. **分解**:将...
### 二分查找算法 #### 一、二分查找算法...总之,二分查找及其变种(如三分法)是计算机科学中非常基础且重要的算法,它们广泛应用于各种场景,不仅限于数值计算,在数据结构、算法设计等领域都有极其重要的作用。
分治法实现二分查找算法实现 分治法实现二分查找算法实现 分治法实现二分查找算法实现
本代码是利用java语言实现基本数据查询功能,实现算法为二分查找法
为了克服这一问题,本文将介绍一种经典的温度查表算法——二分查找法,并探讨其在NTC测温中的应用。 二分查找法是一种有效的在有序数组中查找特定元素的算法。其基本原理是,在每次查找过程中,算法都会将查找范围...
算法-二分查找法 一个样式更加美观大方的HTML页面示例,其中包括了二分查找算法的演示。 页面主体使用白色背景,加上轻微的阴影和圆角边框,使页面看起来更加精致。 输入框和按钮使用了更加现代的样式,包括圆角...
这个"C 二分查找算法"的压缩包文件提供了一个使用C语言实现的二分查找算法源码实例,同时也包含了顺序查找法的实现,旨在帮助开发者理解这两种查找方法。 首先,我们来详细探讨二分查找算法。它基于分治策略,适用...
本文将深入探讨《C++查找算法大集锦》中所涵盖的各种查找技术,包括差值查找法、斐波那契查找、哈希查找(拉链法与探测法)以及顺序和二分查找法。 1. **差值查找法**:这是一种相对较少见的查找方法,适用于有序...
在计算机科学领域,数据结构与算法是核心课程之一,其中二分查找法(Binary Search)是一种高效的查找技术,尤其适用于有序数组或列表的搜索场景。本文将深入探讨C++中实现二分查找法的具体细节、原理以及其在实际...
二分查找,也称为折半查找,适用于有序的线性表,如数组。算法的基本思路是将查找区间不断减半,每次比较中间元素与目标值,如果目标值等于中间元素则查找成功,否则根据目标值与中间元素的大小关系缩小查找区间。...
二分探索法,又称二分查找法或二分搜索法,是一种高效的查找算法,尤其适用于已排序的数据集合。它的核心思想源于分治策略,通过不断缩小查找范围来快速定位目标值。在每次查找中,算法将查找区间分为两半,然后比较...
本资源提供了C++实现的四种主要查找算法:顺序查找、二分查找、BST(二叉搜索树)查找以及哈希查找。下面将详细阐述这四种查找算法及其在C++中的实现。 1. **顺序查找**: 顺序查找是最基础的查找方法,适用于任何...
cout二分查找法,请输入数列个数\n"; cin>>n; for(i=0;i;i++) cin>>a[i]; while(true) { cout请输入要查找的数:"; cin>>num;//读入要查找的数 //find=binarySearch(a,0,n-1,num); find=...
同时,为了提高查找效率,可以使用二分查找法配合动态数组或链表,根据数据量大小选择合适的存储结构。 通过学习和实践这些知识点,开发者能更好地理解和应用查找算法,提高程序的效率和功能。在C语言环境中,理解...
二分查找基于分治算法的实现