开发者社区> 问答> 正文

java程序,如何优化二分查找的性能

java程序,如何优化二分查找的性能

展开
收起
道月芬1 2021-11-01 09:47:11 14479 0
7 条回答
写回答
取消 提交回答
  • 查找(Searching)就是根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。本文详细介绍了常见的数据查找算法,比如顺序查找/线性查找、二分查找/折半查找、插值查找、斐波那契查找等,并且提供了相应的Java代码实现。

    2022-04-24 15:45:01
    赞同 展开评论 打赏
  • 学习

    2022-04-24 09:14:56
    赞同 展开评论 打赏
  • CSDN博客@IT鹅,全栈领域新星博主,全栈技术博主,专注于系统安全架构,人工智能,二进制安全,一个将理论与技术结合的实践者!

    找到数组中点的位置 判断待查找的元素在中点值的左面还是右面 在中点值的左面时就让右边界等于中点 在中点值的右面时就让左边界等于中点 + 1 重复此过程,直到待查找的值等于终点值时退出,否则返回-1 public class BinarySearchOptimize {     public static void main(String[] args) {         int[] arr = new int[]{1, 2, 3, 4, 5};         int i = binarySearch(arr, 2);         System.out.println("i = " + i);     }

        public static int binarySearch(int[] arr, int key) {         int left = 0;         int right = arr.length - 1;         while(left < right) {             int mid = left + (key - arr[left]) / (arr[right] - key) * (right - left);

                if(arr[mid] > key) {                 right = mid;             } else if(arr[mid] < key) {                 left = mid + 1;             } else {                 return mid;             }         }

            return -1;     } }

    作者:lightingsui 链接:https://juejin.cn/post/6874508671351685128 来源:稀土掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    2022-04-23 14:01:37
    赞同 展开评论 打赏
  • 学习

    2022-04-23 10:37:15
    赞同 展开评论 打赏
  • 学习

    2022-04-23 08:51:09
    赞同 展开评论 打赏
  • 首先从系统设计层面,去看看是否有改进的可能,是不是可以引入一些设计模式、是不是可以引入缓存机制等方法,来屏蔽潜在的性能问题。

    然后从代码层面,看看代码是否有优化的可能。

    接着去看看 Java 程序运行的环境,也就是通过调整 JVM 的参数来提升一下性能。

    接着到数据库层面,看看是否有调优的可能。

    最后到操作系统层面,看看是否可以进行调优。

    2021-11-03 14:32:14
    赞同 展开评论 打赏
  • never say never~

    Java应用程序在Java虚拟机(JVM)中运行。因此,要优化Java应用程序,需要了解JVM操作过程。我以前在博客上写过理解JVM内部在这里,您可以找到关于JVM的深刻见解。

    本文中有关JVM运行过程的知识主要是指垃圾收集(GC)和热点方面的知识。虽然您可能无法仅利用GC或Hotpot方面的知识来调优各种Java应用程序的性能,但这两个因素在大多数情况下都会影响Java应用程序的性能。

    值得注意的是,从操作系统的角度来看,JVM也是一个应用程序进程。要创建一个JVM运行良好的环境,您应该了解OS如何将资源分配给进程。这意味着,要优化Java应用程序的性能,您应该了解操作系统或硬件以及JVM本身。

    另一方面,Java语言领域的知识也很重要。理解锁或并发性以及熟悉类加载或对象创建也很重要。

    当您执行Java应用程序性能调优时,您应该通过集成所有这些知识来处理它。

    2021-11-03 14:21:33
    赞同 展开评论 打赏
滑动查看更多
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载