二分查找(分治法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);
        }
    }
}
相关文章
|
1天前
|
Java
java实现二分查找
java实现二分查找
18 0
|
8月前
|
Java
【Java每日一题,左二分查找】Where is the Marble?
【Java每日一题,左二分查找】Where is the Marble?
|
1天前
|
算法 JavaScript Java
Java多线程+分治求和,太牛了
`shigen`,一位擅长Java、Python、Vue和Shell的博主,分享编程知识和成长体验。在一次面试中因对高并发问题准备不足而受挫,随后深入学习,研究了线程池和经典案例——计算1亿数字的和。采用分治策略,`shigen`实现了Java版的归并排序,并对比了Python的简洁实现。通过多线程和分段求和优化,展示了如何高效解决大数求和问题,引入了分治思想的递归任务来进一步提升性能。未来将探讨`forkjoin`框架。关注`shigen`,每天学习新知识!
20 0
Java多线程+分治求和,太牛了
|
1天前
|
存储 算法 Java
二分查找(Java) 详细讲解 一文足矣
二分查找(Java) 详细讲解 一文足矣
|
1天前
|
存储 算法 Java
java查找算法:二分查找、哈希查找等
java查找算法:二分查找、哈希查找等
26 1
|
8月前
|
算法 Java 索引
Java【数据结构】二分查找
Java【数据结构】二分查找
48 0
|
8月前
|
算法 Java 索引
Java算法探秘:二分查找详解
二分查找是一种高效的查找算法,适用于有序数组。它的时间复杂度为 O(log n),其中 n 是数组的长度。由于每次迭代都将搜索范围减半,因此它比线性查找等简单查找算法更加高效,特别是对于大型有序数组。通过仔细实现和理解二分查找算法,你可以在 Java 中轻松应用它来解决各种查找问题。
228 2
|
11月前
|
算法 Java
数据结构(3)基础查找算法——顺序查找、二分查找(JAVA版)
3.1.顺序查找 顺序查找,时间复杂度是O(n),逻辑很简单,就是依次遍历一个线性的数据结构判断所要查找的目标数据是否在这个数据结构里。以下是代码实现:
57 0
时间轮-Java实现篇
在前面的文章《[时间轮-理论篇](https://developer.aliyun.com/article/910513)》讲了时间轮的一些理论知识,然后根据理论知识。我们自己来实现一个简单的时间轮。
|
1天前
|
安全 Java 调度
深入理解Java并发编程:线程安全与性能优化
【5月更文挑战第12天】 在现代软件开发中,多线程编程是提升应用程序性能和响应能力的关键手段之一。特别是在Java语言中,由于其内置的跨平台线程支持,开发者可以轻松地创建和管理线程。然而,随之而来的并发问题也不容小觑。本文将探讨Java并发编程的核心概念,包括线程安全策略、锁机制以及性能优化技巧。通过实例分析与性能比较,我们旨在为读者提供一套既确保线程安全又兼顾性能的编程指导。