二分查找(分治法Java实现)

简介: 二分查找(分治法Java实现)

二分查找(分治法Java实现)


package Day52;
/**
 * @Author Zhongger
 * @Description 分治递归查找
 * @Date 2020.3.26
 */
public class BinarySearch {
    public static void main(String[] args) {
        BinarySearch search = new BinarySearch();
        int[] arr={1,2,3,4,5,6,7,8,9,10};
        System.out.println(search.binarySearch(0, arr, 0, arr.length - 1));
    }
    public int binarySearch(int value,int[] arr,int left,int right){
        if (left>right){
            return -1;
        }
        int mid=(left+right)/2;
        if (arr[mid]==value){
            return mid;
        }else if (arr[mid]<value){
            return binarySearch(value,arr,mid+1,right);
        }else {
            return binarySearch(value,arr,left,mid-1);
        }
    }
}
相关文章
|
Java
在 Java 中实现二分查找法
【10月更文挑战第9天】
229 1
|
算法 Java
java冒泡排序与二分查找(详解)
java冒泡排序与二分查找(详解)
161 4
|
算法 Java
Java 使用二分查找快速定位元素位置
Java 使用二分查找快速定位元素位置
82 0
二分查找-非递归(java)
二分查找-非递归(java)
二分查找-递归(java)
二分查找-递归(java)
142 0
|
人工智能 算法 Java
二分查找Java版
二分查找Java版
140 0
|
存储 算法 Java
Java查找算法概览:二分查找适用于有序数组,通过比较中间元素缩小搜索范围;哈希查找利用哈希函数快速定位,示例中使用HashMap存储键值对,支持多值关联。
【6月更文挑战第21天】Java查找算法概览:二分查找适用于有序数组,通过比较中间元素缩小搜索范围;哈希查找利用哈希函数快速定位,示例中使用HashMap存储键值对,支持多值关联。简单哈希表实现未涵盖冲突解决和删除操作。
224 1
时间轮-Java实现篇
在前面的文章《[时间轮-理论篇](https://developer.aliyun.com/article/910513)》讲了时间轮的一些理论知识,然后根据理论知识。我们自己来实现一个简单的时间轮。
1072 0
|
2月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
202 1
|
2月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
226 1