最新下载
热门教程
- 1
 - 2
 - 3
 - 4
 - 5
 - 6
 - 7
 - 8
 - 9
 - 10
 
详细解析java算法之二分查找法的实例
时间:2022-06-29 01:25:02 编辑:袖梨 来源:一聚教程网
java算法之二分查找法的实例详解
原理
假定查找范围为一个有序数组(如升序排列),要从中查找某一元素,如果该元素在此数组中,则返回其索引,否则返回-1。通过数组长度可取出中间位置元素的索引,将其值与目标值比较,如果中间位置元素值大于目标值,则在左部分进行查找,如果中间位置值小于目标值,则在右部分进行查找,如此循环,直到结束。二分查找算法之所以快是因为它没有遍历数组的每个元素,而仅仅是查找部分元素就能找到目标或确定其不存在,当然前提是查找范围为有序数组。
Java的简单实现
packageme.geed.algorithms;
  
publicclassBinarySearch {
  
  /**
   * 从一个有序数组(如升序)中找到值为key元素
   * @param key
   * @param array
   * @return 如果找到目标元素,则返回其在数组中的索引,否则返回-1
   */
  publicstaticintfind(intkey,int[] array){
    intlow =0;
    inthigh = array.length -1;
    while(low  key) {
        high = mid -1;
      }elseif(array[mid] 
				
输出结果为:
二分查找算法的时间复杂度
假设范围数组长度为N,则二分查找的时间复杂度为O(logN)
原文链接:http://blog.*csd**n.net/ahence/article/details/50411751
相关文章
- 密室出逃兑换码能用的有哪些 2025最新有效兑换码大全 11-04
 - 猪了个猪兑换码最新可用 2025最新有效兑换码汇总 11-04
 - 羊了个羊星球兑换码能用的有哪些 2025最新有效兑换码 11-04
 - 塞尔达无双封印战记豪华版多少钱 豪华版包含内容一览 11-04
 - 塞尔达无双封印战记switch1能玩吗 塞尔达无双游戏适配平台介绍 11-04
 - 原神杜林怎么配队 杜林队伍推荐 11-04