`
tiandizhiguai
  • 浏览: 45514 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

二分搜索、折半搜索

 
阅读更多
public class BinarySearch
{

    public static void main(String[] args)
    {
        int[] arr = new int[]{1,2,3,4,5};
        int key = 1;
        serach(arr, key);
    }

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

 

分享到:
评论

相关推荐

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

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

    C#实现 二分查找 折半查找

    二分查找,也称为折半查找,是一种在有序数组中搜索特定元素的高效算法。它利用了数组的线性特性,每次将待搜索区域减半,直到找到目标元素或者确定不存在为止。C#作为.NET框架的主要编程语言,提供了丰富的功能支持...

    折半搜索 c++ 折半搜索 c++

    折半搜索,也称为二分查找,是一种在有序数组中查找特定元素的高效算法。它的工作原理是通过不断地将搜索范围减半,直到找到目标值或者确定数组中不存在该值为止。这种算法在计算机科学中广泛应用,特别是在大量数据...

    C经典算法之二分搜寻法(搜寻原则的代表)

    二分搜寻法(Binary Search),又称折半查找,是一种在有序数组中查找某一特定元素的搜索算法。它的工作原理是将数组中间位置的值与目标值进行比较,如果该值等于目标值,则返回当前索引;如果该值小于目标值,则在...

    C++数据结构折半查找法(二分查找)

    折半查找法,也称为二分查找法,是一种高效的搜索算法,尤其适用于已排序的数组或列表。本教程将深入探讨这个主题,帮助数据结构初学者理解和掌握这种强大的查找技术。 **一、二分查找法的基本概念** 二分查找法是...

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

    折半查找,又称二分查找,是一种在有序数据集合中高效搜索特定元素的算法。它主要应用于已排序的数组或列表,通过不断缩小搜索范围来提高查找效率。下面将详细介绍折半查找的基本思想、特点、适用场景以及具体的代码...

    用分治法编写的二分查找,快速排序和折半查找

    二分查找,又称折半查找,是一种在有序数组中查找特定元素的搜索算法。其基本思想是每次比较中间元素,如果中间元素正好是要查找的元素,则搜索过程结束;如果待查值小于中间元素,就在数组的左半部分继续查找;如果...

    折半(二分)查找算法C语言源程序.zip

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

    数据结构查找、排序、二分查找、折半查找算法

    在这个主题中,我们主要关注查找和排序算法,特别是二分查找(折半查找)算法。这些算法在实际编程中具有广泛应用,包括数据库索引、搜索引擎优化和各种计算问题的解决。 首先,我们来看查找算法。查找是数据结构中...

    算法设计实验二分搜索法

    二分搜索法,又称折半查找,是一种在有序数组中查找特定元素的高效搜索算法。它的基本思想是将数组分成两半,每次比较中间元素与目标值,根据比较结果缩小搜索范围,直到找到目标元素或者搜索范围为空。这种方法充分...

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

    **折半查找**,又称**二分查找**,是一种在**有序数组**中查找某一特定元素的搜索算法。该方法的基本思想是:首先将待查元素与数组中间位置的元素进行比较,如果相等则搜索过程结束;如果待查元素较小,则继续在数组...

    c语言 二分查找,也称为折半查找

    二分查找,也称为折半查找,是一种在有序数据集中查找特定元素的算法。它的高效性使得二分查找在多种应用场景中成为首选的搜索算法。下面我们将从原理、应用、性能分析及扩展变种等方面进行详细探讨。 二分查找的...

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

    该算法的基本思想是通过不断将搜索范围减半来查找目标值,因此也被称为二分查找。与线性查找相比,折半查找在最坏情况下的时间复杂度为O(log n),而线性查找的时间复杂度为O(n)。 **折半查找算法步骤如下:** 1. *...

    算法分析 二分搜索算法

    二分搜索算法,也称为折半搜索,是一种在有序数组中查找特定元素的有效方法。它的核心思想是通过不断缩小搜索范围,以递归或迭代的方式快速定位目标值。该算法充分利用了数组的有序特性,极大地提高了搜索效率。 ##...

    C语言 二分搜索源代码及界面演示

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

    C++实现的二分搜索

    二分搜索,也称为折半搜索,是一种在有序数组中查找特定元素的高效搜索算法。它的基本思想是通过不断地将搜索区间对半减小来快速定位目标值。这个概念源于数学上的对数函数,因为每次查找都使搜索范围减少一半,所以...

    JAVA开发二分搜索动态演示

    二分搜索,也称为折半搜索,是针对有序数据集(如数组)的一种高效查找算法。它的基本思想是将数据集分为两个部分,每次比较中间元素与目标值,然后根据比较结果决定是在左半部分还是右半部分继续搜索,直到找到目标...

    有序数组的折半查找

    折半查找,又称二分查找,是一种在有序数组中查找特定元素的搜索算法。相比传统的顺序查找,它具有更高的效率,尤其是在大型数据集上。折半查找的基本思想是利用数组的有序性,通过每次将查找区间缩小一半来快速定位...

    折半(二分)查找的c++代码(递归和非递归)实现

    二分查找,也称为折半查找,是一种在有序数组中搜索特定元素的高效算法。它利用了数组的线性特性,每次将搜索范围减半,从而显著减少了查找次数。二分查找在计算机科学中有着广泛的应用,特别是在大量数据处理和...

    二分搜索算法

    二分搜索(Binary Search),又称折半查找,是一种在有序数组中查找特定元素的高效算法。其基本思想是通过将待查找值与数组中间元素进行比较,不断缩小查找范围,直至找到目标值或查找范围为空为止。 #### 二、实现...

Global site tag (gtag.js) - Google Analytics