【5分钟知识点】【算法二分查找Java】

算法二分查找Java参照例子

Notice:以最简要的方式分享个人理解


文章目录

  • 算法二分查找Java参照例子
  • 1.简要说明
  • 2.示例代码
  • 3.演示结果


1.简要说明

在有序的数据集中,每回查找后过滤去除目标集合中的半数元素,最终定位目标值。
示例:输入整数4 以下表{目标数据集}为查找对象,执行二分查找 定位目标值的下标并输出其值。

目标数据集:12345678
数组下标:01234567

2.示例代码

Test01.java

import java.io.*;
public class Test01{public static void main(String[] args){int[] intarry = {1,2,3,4,5,6,7,8};try{BufferedReader bfreader = new BufferedReader(new InputStreamReader(System.in));int x = Integer.parseInt(bfreader.readLine());int arryLeng = intarry.length;int left =0 ;int right = arryLeng-1;int loopcount = 0;while(left <= right){loopcount ++;int index = (left+right)/2;if(intarry[index] < x){left = index+1;}else if(intarry[index] > x){right = index-1;}else if(intarry[index] == x){System.out.println("loops:" + loopcount +  " catch value:"+x);break;}}	}catch(Exception e){e.printStackTrace();	}	}
}

3.演示结果

代码如下(示例):

$ java Test01
4
loops:1 catch value:4

supplement:用时间复杂度衡量比较结果,顺序查找为O(n),二分查找为O(log n) ,大O表示法让你能够比较操作数,它指出了算法运行时间的增速。
推荐参考书《算法图解》


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部