资讯专栏INFORMATION COLUMN

二分查找Java实现

Half / 3012人阅读

public class BinSearch {

    //递归实现
    public static int binSearch(int[]arr,int low,int high,int key){
        if(low>high||keyarr[high]){
            return -1 ;
        }
        int mid = low+(high-low) / 2;
        if (arr[mid] < key) {
            return binSearch(arr, mid + 1, high, key);
        } else if (arr[mid] > key) {
            return binSearch(arr, low, mid - 1, key);
        } else {
            return mid;
        }
    }

    //非递归循环实现
    public static int binSearch1(int[]arr,int key){
        int low=0;
        int high=arr.length-1;
        
        while(low<=high){
            int mid=low+(high-low)/2;
            if(arr[mid]>key){
                low=mid+1;
            }else if(arr[mid]           
               
                                           
                       
                 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/73541.html

相关文章

  • 查找算法之二分查找

    摘要:查找算法之二分查找法思想二分查找法的思想非常简单,对于一个有序数列,找它中间的元素,看是否是查找目标,如果不是,就看这个查找目标是小于还是大于中间元素,然后在对应的区间内重复上述过程。 查找算法之二分查找法 思想 二分查找法的思想非常简单,对于一个有序数列,找它中间的元素,看是否是查找目标,如果不是,就看这个查找目标是小于还是大于中间元素,然后在对应的区间内重复上述过程。 算法 需要注...

    Jochen 评论0 收藏0
  • 【从蛋壳到满天飞】JAVA 数据结构解析和算法实现-二分搜索树

    摘要:在数据结构领域对应树结构来说二叉树是最常用的一种树结构,二叉树具有一个唯一的根节点,也就是最上面的节点。二叉树每个节点最多有两个孩子,一个孩子都没有的节点通常称之为叶子节点,二叉树每个节点最多有一个父亲,根节点是没有父亲节点的。 showImg(https://segmentfault.com/img/remote/1460000018597053?w=1832&h=9943); 前言...

    ghnor 评论0 收藏0
  • 【从蛋壳到满天飞】JAVA 数据结构解析和算法实现-二分搜索树

    摘要:在数据结构领域对应树结构来说二叉树是最常用的一种树结构,二叉树具有一个唯一的根节点,也就是最上面的节点。二叉树每个节点最多有两个孩子,一个孩子都没有的节点通常称之为叶子节点,二叉树每个节点最多有一个父亲,根节点是没有父亲节点的。 showImg(https://segmentfault.com/img/remote/1460000018597053?w=1832&h=9943); 前言...

    FuisonDesign 评论0 收藏0
  • 二分查找(BinarySearch)

    摘要:基本思想二分查找算法的基本思想就是在一个有序的默认我们都是升序,如果是降序后面的条件置反即可数组中将要查找的值和数组中间的那个元素比较如果要找的数大于中间的元素就从中间的元素后一个元素开始到数组最后一个元素这个区间里面继续寻找如果要找的数小 基本思想 二分查找算法的基本思想就是: 在一个有序的(默认我们都是升序,如果是降序后面的条件置反即可)数组中; 将要查找的值和数组中间的那个元素...

    leeon 评论0 收藏0
  • 算法练习8:二分查找-II

    摘要:题目请实现有重复数字的升序数组的二分查找给定一个元素有序的升序长度为的整型数组和一个目标值,写一个函数搜索中的第一个出现的,如果目标值存在返回下标,否则返回数据范围进阶时间复杂度,空间复杂度代码中的类名方法名参数名已经指定 题目:请实现有重复数字的升序数组的二分查找给定一个 元素有序的(升序)长度为n的整型数组...

    不知名网友 评论0 收藏0

发表评论

0条评论

Half

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<