`

4、折半查找

阅读更多

折半查找,提高效率,但是必须要保证该数组是有序排列

 

示例:

class Other 
{
	public static void main(String[] args) 
	{
		int[] arr = new int[]{5,3,6,8,4,6,9,2};
		int pos = halfSearch(arr,9);
		System.out.println(pos);
	}
	public static int halfSearch(int[] arr,int key)
	{
		int min = 0;
		int max = arr.length-1;
		int mid;
		while(min <= max)
		{
			mid =(min + max)/2;
			if(arr[mid] > key) 
				max = mid;
			else if(arr[mid] < key)
				min = mid;
			else
				return mid;
		}
		return -1;
	}
}

 

分享到:
评论

相关推荐

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

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

    折半查找的递归算法

    ### 折半查找的递归算法 #### 一、引言 折半查找(也称为二分查找)是一种高效的查找算法,适用于有序数组。通过不断将查找区间对半分割,可以快速定位目标值的位置,时间复杂度为O(log n),其中n是数组长度。本文...

    C语言实现顺序表的顺序查找和折半查找

    C语言实现顺序表的顺序查找和折半查找 在计算机科学中,查找是指在一组数据中找到特定元素的过程。顺序表是一种基本的数据结构,在实际应用中非常常见。因此,学习如何在顺序表中实现查找是非常重要的。下面,我们...

    折半查找算法在顺序表中插入一个元素讲解.pdf

    折半查找算法在顺序表中插入一个元素讲解 折半查找算法是一种常用的查找算法,它可以在已经排好序的顺序表中快速地找到某个元素。下面我们来详细讲解折半查找算法在顺序表中插入一个元素的过程。 折半查找算法的...

    数据结构--折半查找

    数据结构习题---折半查找代码 void BinInsert(int A[],int &n,int item) { int j,low=1,high=n,mid; while(low) { /* 利用折半查找法查找合适位置*/ mid=(low+high)/2; /* 计算当前查找部分的中间位置*/ if...

    C#Windows窗体模拟折半查找程序

    **C# Windows窗体模拟折半查找程序** 在C#编程环境中,开发Windows窗体应用程序是一种常见的实践,它允许用户通过图形用户界面(GUI)与软件进行交互。在这个特定的项目中,我们关注的是实现一个模拟折半查找算法的...

    折半查找的简单C语言算法

    使用折半查找,输入一个整数,查找是否在数组中,如在给出下标,否则-1

    二叉排序树和折半查找

    二叉排序树在查找过程中类似于连续的折半查找,只不过是在树结构中进行,而折半查找是在数组中进行。 8. **应用**: 二叉排序树广泛用于数据库索引、文件系统和虚拟内存管理等场景,而折半查找常用于大量有序数据...

    汇编课程设计 实现折半查找

    在本汇编课程设计中,我们关注的主题是“实现折半查找”,这是一项在计算机科学领域内基础且重要的算法技术。折半查找,也称为二分查找,是一种在有序数组中搜索特定元素的有效方法。其基本思想是通过不断将搜索范围...

    顺序查找和折半查找

    在本主题中,我们将聚焦于两种基础但重要的查找算法:顺序查找和折半查找。 **顺序查找(Sequential Search)** 顺序查找是最简单的查找算法,适用于任何线性数据结构,如数组或链表。其基本思想是从数据集合的第一...

    数据结构实验——折半查找

    折半查找是数据结构中,查找的其中一种。此资源不但包括折半查找的算法,还包括帮助其运行的其他代码,可直接运行以实现折半查找。注:输入数据时,要将数据从大到小依次输入,方可实现折半查找。

    折半查找算法及matlab代码实现

    ### 折半查找算法及其MATLAB实现 #### 折半查找算法原理 折半查找算法是一种高效的搜索技术,尤其适用于已经排序的数组。该算法的基本思想是通过不断将搜索范围减半来查找目标值,因此也被称为二分查找。与线性...

    折半查找算法的改进和程序实现

    折半查找算法是一种在有序数组中寻找特定元素的搜索算法,其基本思想是将数组分为两半,通过比较中间元素和目标值来缩小搜索范围。然而,传统的折半查找在某些情况下并不一定是效率最高的方法。通过对查找算法的改进...

    数据结构折半查找代码

    数据结构折半查找,用于C语言版的数据结构。

    静态查找表。实现有序表的折半查找算法

    ### 静态查找表与折半查找算法 在计算机科学中,静态查找表是一种用于存储数据并能够高效检索特定元素的数据结构。本篇文章将详细解释如何实现一个静态查找表,并利用折半查找算法(也称二分查找算法)来查询表中的...

    顺序查找和折半查找在10个元素中查找20

    在最坏情况下,折半查找需要进行4次比较(每次都将搜索范围减半),即log2(10) ≈ 3.32,因此最多4次就能确定20是否在数组中。 在"search_b_s.c"这个C语言源代码文件中,开发者可能实现了这两个查找算法,并用实际...

    折半查找算法

    ### 折半查找算法 #### 一、简介 折半查找算法(Binary Search),也称为二分查找算法,是一种在有序数组中查找特定元素的高效算法。它的基本思想是在有序数组中通过比较中间元素与目标值来逐步缩小查找范围,直到...

    折半查找 c语言函数

    折半查找,又称二分查找,是一种在有序数组中查找特定元素的搜索算法。它的基本思想是通过比较中间元素和目标值,将搜索范围不断缩小为一半,直到找到目标值或者搜索范围为空。这种方法相对于线性查找有显著的效率...

    折半查找算法实现(C++).doc

    折半查找算法实现(C++) 折半查找算法是数据结构与算法中的一种重要查找方法,它可以通过数学方法计算其时间复杂度。在本文中,我们将详细介绍折半查找算法的实现,并提供 C++ 语言的代码实现。 一、折半查找算法...

    java 快速排序 折半查找的界面实现 (递归与分治法)

    4. 如果目标值大于中间元素,对右半部分数组进行折半查找。 5. 重复步骤2到4,直到找到目标值或查找范围为空。 在Java中,折半查找可以这样实现: ```java public class BinarySearch { public static int binary...

Global site tag (gtag.js) - Google Analytics