美文网首页
二分法查找

二分法查找

作者: JR_咖啡少年 | 来源:发表于2017-04-08 21:43 被阅读38次

二分法查找:当数据量很大适宜采用该方法。采用二分法查找时,数据需是排好序的。
二分查找时间复杂度 O(logn)

/**
 * 二分法查找,数据需要有序不重复
 */
public class DichotomySearch {
    public static void main(String[] args) {
        int[] arr = {11,22,33,44,55,66,77,88,99};
        System.out.println("88 = " + search(arr, 88)); //7
        System.out.println("44 = " + search(arr, 44));  //3
        System.out.println("100 = " + search(arr, 100));//-1
    }   
    //二分法查找
    public static int search(int[] arr, int key){   
        int start = 0;
        int end = arr.length - 1;
        while(start <= end){
            int middle = (start + end) / 2;         
            if(key < arr[middle]){
                end = middle - 1;
            }else if(key > arr[middle]){
                start = middle + 1;
            }else{
                return middle;
            }
        }
        return -1;
    }
}

相关文章

  • 二分法查找

    二分法基本查找 二分法遍历查找

  • 二分法查找

    二分法查找的前提是数组必须排序!!!二分法查找的前提是数组必须排序!!!二分法查找的前提是数组必须排序!!!二分法...

  • 刷前端面经笔记(九)

    1.JavaScript实现二分法查找? 二分法查找,也称折半查找,是一种在有序数组中查找特定元素的搜索算法。查找...

  • 数据结构-递归

    二分法查找

  • 查找算法

    三种查找算法:顺序查找,二分法查找(折半查找),分块查找,散列表

  • 二分查找

    以二分法来提升查找效率 二分法查找到key的合适位置 put get delete 二分查找的查找操作为O(log...

  • 算法和排序

    1、线性查找 2、二分法查找 3、冒泡排序

  • 查找算法

    查找算法 顺序查找法 时间复杂度:O(n) 二分法查找 二分法查找适用于有顺序的序列 时间复杂度:O(n) 核心思...

  • 算法图解1-2/11

    原书作者 Aditya Bhargava 1 算法简介 1.1 二分法查找 二分法查找,正是猜数字游戏的玩法:A...

  • 前端面试之算法二分法

    使用二分法的前提是,目标数组的元素必须是有序排列的,所以二分法属于有序查找算法 二分法又称为“折半查找”,从数组的...

网友评论

      本文标题:二分法查找

      本文链接:https://www.haomeiwen.com/subject/zzdrattx.html