美文网首页
java实现二分查找

java实现二分查找

作者: AZZCS_0222 | 来源:发表于2019-02-27 14:10 被阅读0次

二分查找的对象是一个有序的数组,可以使用递归和非递归两种方式实现。

public class Test {
    public static void main(String[] args) {
       int [] array= {1,2,3,4,5,6,7,8,9,10,11,12};
        int addr = binarySearch(array,7);
        System.out.println(addr);
        int sort = recursionSearch(array, 7, 0, array.length);
        System.out.println(sort);

    }



    private static int binarySearch(int [] array,int keyword){
        int left = 0;
        int right = array.length;
        int middle = 0;
        if(right==0){
            return -1;
        }
        while(left<right){
            middle = (left+right)/2;
            if(array[middle]==keyword){
                return middle+1;
            }else if(array[middle]>keyword){
                right = middle+1;
            }else {
                left = middle-1;
            }

        }
        return -1;

    }

    private static int recursionSearch(int [] array,int keyword,int left,int right){//递归实现
        if(left<=right){
            int middle = (left+right)/2;
            if(keyword==array[middle]){
                return middle+1;
            }else if(keyword>array[middle]){
                return recursionSearch(array,keyword,middle+1,right);
            }else {
                return recursionSearch(array,keyword,left,middle-1);
            }
        }
        return -1;
    }
}

相关文章

  • 二分查找

    概念二分查找又叫折半查找,从排序数组中查找元素的位置。 图示二分查找 Java实现 复杂度T(n)=T(n/2)+...

  • 面试知识点

    排序冒泡排序快速排序选择排序插入排序二路归并 查找二分查找 排序和查找的java实现 java语言Java字符串字...

  • 二分查找代码框架

    1.基本的二分查找 2.寻找左侧边界的二分查找 3.寻找右侧边界的二分查找 4.说明 这是一个Java实现的二分查...

  • 简单算法

    冒泡排序: while 实现的二分查找: 递归实现二分查找:

  • 二分查找

    定义 过程 要求 算法复杂度 Java代码实现 定义   二分查找也称折半查找(Binary Search),它是...

  • Java实现二分查找

    Java实现二分查找 二分查找针对的是一个有序的数据集合,查找思想有点类似分治思想。每次都通过跟区间的中间元素对比...

  • 算法之二分查找

    二分查找 二分查找是著名、高效并有应用广泛的查找算法。 二分常规实现 1.循环实现 下面我用python语言实现循...

  • 分治算法(swift二分法排序递归实现)

    二分查找 1、二分查找(Binary Search) 2、二分查找的基本思想 swift算法实现

  • 二分查找

    网上找到的图片便于理解 二分查找递归实现与循环实现代码: /** 二分查找 1.二分查找又称折半查找,它是一种效率...

  • 二分查找

    数据顺序存储,有序序列 O(logn) 递归实现二分查找: 非递归实现二分查找:

网友评论

      本文标题:java实现二分查找

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