`

查找算法(一)二分查找法

 
阅读更多
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语言实现基本数据查询功能,实现算法为二分查找法

    二分查找算法的演示-二分查找法

    算法-二分查找法 一个样式更加美观大方的HTML页面示例,其中包括了二分查找算法的演示。 页面主体使用白色背景,加上轻微的阴影和圆角边框,使页面看起来更加精致。 输入框和按钮使用了更加现代的样式,包括圆角...

    C 二分查找算法.rar

    这个"C 二分查找算法"的压缩包文件提供了一个使用C语言实现的二分查找算法源码实例,同时也包含了顺序查找法的实现,旨在帮助开发者理解这两种查找方法。 首先,我们来详细探讨二分查找算法。它基于分治策略,适用...

    C++查找算法大集锦

    本文将深入探讨《C++查找算法大集锦》中所涵盖的各种查找技术,包括差值查找法、斐波那契查找、哈希查找(拉链法与探测法)以及顺序和二分查找法。 1. **差值查找法**:这是一种相对较少见的查找方法,适用于有序...

    C++ 二分查找法

    在计算机科学领域,数据结构与算法是核心课程之一,其中二分查找法(Binary Search)是一种高效的查找技术,尤其适用于有序数组或列表的搜索场景。本文将深入探讨C++中实现二分查找法的具体细节、原理以及其在实际...

    数据结-构查找算法二分查找二叉顺序数哈希查找

    二分查找,也称为折半查找,适用于有序的线性表,如数组。算法的基本思路是将查找区间不断减半,每次比较中间元素与目标值,如果目标值等于中间元素则查找成功,否则根据目标值与中间元素的大小关系缩小查找区间。...

    二分探索法查找数据课程设计

    二分探索法,又称二分查找法或二分搜索法,是一种高效的查找算法,尤其适用于已排序的数据集合。它的核心思想源于分治策略,通过不断缩小查找范围来快速定位目标值。在每次查找中,算法将查找区间分为两半,然后比较...

    NTC测温中 经典温度查表算法--二分查找法.docx

    二分查找法是一种在有序数组中查找特定元素的搜索算法,其主要优点在于查找速度快。对于长度为1024的表,最多只需要10次比较就能找到目标元素,这在NTC温度表(长度通常在100-500之间)的场景下,可以显著提高查表...

    查找算法代码C++——包括顺序、二分、BST、哈希

    本资源提供了C++实现的四种主要查找算法:顺序查找、二分查找、BST(二叉搜索树)查找以及哈希查找。下面将详细阐述这四种查找算法及其在C++中的实现。 1. **顺序查找**: 顺序查找是最基础的查找方法,适用于任何...

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

    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语言设计查找算法

    同时,为了提高查找效率,可以使用二分查找法配合动态数组或链表,根据数据量大小选择合适的存储结构。 通过学习和实践这些知识点,开发者能更好地理解和应用查找算法,提高程序的效率和功能。在C语言环境中,理解...

    分治算法之二分查找实现

    二分查找基于分治算法的实现

Global site tag (gtag.js) - Google Analytics