`
tiandizhiguai
  • 浏览: 44692 次
  • 性别: 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;
    }
}

 

分享到:
评论

相关推荐

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

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

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

    折半查找(又称二分查找)是一种高效的查找算法,适用于已排序的数组或列表。其基本思想是将待查找的元素与数组中间元素进行比较,如果相等则返回该元素的下标;如果待查找元素小于中间元素,则在数组左半部分继续...

    二分搜索算法

    二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表...

    C++实现折半查找(二分查找)算法(含实现原理和步骤)

    折半查找,也称为二分查找(Binary Search)或对数查找(Logarithmic Search),是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;...

    二分搜索法

    折半查找法也称为二分查找法,它充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用O(log n)完成搜索任务。

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

    数据结构中简单的二分查找(折半查找)流程图实例

    C++实现折半查找

    计算机科学中,折半搜索(英语:half-interval search),也称二分搜索(英语:binary search)、对数搜索(英语:logarithmic search),是一种在有序数组中查找某一特定元素的搜索算法。 搜索过程从数组的中间...

    JavaScript二分搜索1

    JavaScript二分搜索二分搜索概述二分搜索(Binary search),也叫折半搜索(half-interval search),是一种在有序数组中把数

    PHP有序表查找之二分查找(折半查找)算法示例

    本文实例讲述了PHP有序表查找之二分查找(折半查找)算法。分享给大家供大家参考,具体如下: 简介: 二分查找技术,又称为折半查找。...//二分搜索(折半查找)算法(前提是数组必须是有序数组) 时间复杂度是 O(l

    C++折半插入排序详解以及代码实现

    在直接插入排序中,我们使用线性搜索来找到新元素应该插入的位置,而在折半插入排序中,我们使用二分搜索来加快查找速度。 以下是折半插入排序的详细步骤: 1. 从第一个元素开始,该元素可以认为已经被排序。 2. ...

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

    折半查找法也称为二分查找法或二分搜索法,它充分利用了元素间的次序关系,采用分治策略而较快地查找数据。现要求给出一个待查找的实例,并给出二分搜索算法,编写程序利用此算法实现查找。

    二分查找的优缺点以及举例

    二分查找(Binary Search),也称折半查找,是一种效率较高的查找方法。它要求线性表必须采用顺序存储结构,且表中元素按关键字有序排列。二分查找充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用O...

    Ruby实现二分搜索(二分查找)算法的简单示例

    在计算机科学中,二分搜索(英语:binary search),也称折半搜索(英语:half-interval search)、对数搜索(英语:logarithmic search),是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间...

    实现顺序查找、折半查找和散列表的查找功能

    折半查找: 利用数组存储元素,使用二分搜索来查找目标值。 散列表: 使用数组实现哈希表,利用散列函数和线性探测法解决冲突。 用户可以选择在生成的随机数中查找目标值,程序会根据用户选择的算法来执行相应的查找...

    c# 二分查找算法

    折半搜索,也称二分查找算法、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法

    JS二分查找算法详解

    二分法查找,也称折半查找,是一种在有序数组中查找特定元素的搜索算法。查找过程可以分为以下步骤: (1)首先,从有序数组的中间的元素开始搜索,如果该元素正好是目标元素(即要查找的元素),则搜索过程结束,...

    Python实现二分查找与bisect模块详解

    前言 其实Python 的列表(list)内部实现是一个数组,也就是一个线性表。在列表中查找元素可以使用 list.index() 方法,其时间复杂度为O(n) 。...二分查找也成为折半查找,算法每一次比较都使搜索范围缩小一半, 其时间

    高校数据结构期末考题库

    18、折半搜索只适用与有序表,包括有序的顺序表和有序的链表。( ) 19、堆栈在数据中的存储原则是先进先出。( ) 20、队列在数据中的存储原则是后进先出。( ) 21、用相邻矩阵表示图所用的存储空间大小与图的边数...

    javascript常用经典算法实例详解

    本文实例讲述了javascript常用算法。分享给大家供大家参考,具体如下: 入门级算法-线性查找-时间复杂度O(n)–相当于算法界中的HelloWorld //线性搜索(入门HelloWorld) //A为数组,x为要搜索的值 ...//二分搜索 /

Global site tag (gtag.js) - Google Analytics