美文网首页
【Java】二分搜索

【Java】二分搜索

作者: 董懂同学 | 来源:发表于2020-03-27 14:16 被阅读0次
class BinarySearch {
    public static int binarySearch(int[] array, int target){
        
        int l = 0, r = array.length - 1; // 在[l...r]的范围里寻找target
        while (l<=r) { // 当 l == r 时,区间[l,r] 依然是有效的
            int mid  = (l + r) / 2;
//          int mid  = l + ( r - 1 ) / 2; // 避免整型溢出
            if(array[mid] == target){ // 当 array[mid] == target 时,target == l == r
                return mid;
            }
            if(array[mid] < target){ // array[mid] < target,target 在 array[mid] 右边
                l = mid + 1;
            }
            if(array[mid] > target){ // array[mid] > target,target 在 array[mid] 左边
                r = mid - 1;
            }
        }
        return -1;      
    }
    public static void main(String[] args) {
        int[] array = {1,2,3,4,5,6,7,8,9};
        System.out.println(binarySearch(array,9));
    }
}

相关文章

  • 用java实现二分搜索<算法分析>

    实验目的: 1、复习java编程;2、掌握二分搜索技术的基本原理;3、掌握使用java程序进行二分搜索的方法。 实...

  • 算法与数据结构系列之[二分搜索树-下]

    上篇贴出了二分搜索树的C语言代码,这篇贴出二分搜索树的java实现代码。

  • Algorithm进阶计划 -- 二分搜索

    二分搜索二分搜索模板二分搜索运用 1. 二分搜索模板 二分搜索(二分查找)也称折半查找(Binary Search...

  • 【Java】二分搜索

  • 算法-二分搜索算法

    算法:二分搜索算法(折半查找算法)时间复杂度: 二分搜索算法概述 二分搜索算法伪代码 二分搜索算法实现 二分搜索算...

  • 搜索算法

    顺序搜索 二分搜索

  • 二分搜索(Binary_Search)

    1. 二分搜索是什么? 二分搜索(英语:binary search),也叫折半搜索(英语:half-interva...

  • java实现二分搜索树

    二叉查找树(Binary Search Tree),也称有序二叉树(ordered binary tree),排序...

  • 二分搜索树--Java实现

    二分搜索树的优势 高效不仅可以查找数据;还可以高效地插入,删除数据-动态维护数据 可以方便的回答很多数据之间的关系...

  • AVL 树

    一:什么是 AVL 树? 在我的上一篇文章《二分搜索树与二分查找法》中,详细介绍了二分搜索树这种数据结构。二分搜索...

网友评论

      本文标题:【Java】二分搜索

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