【5分钟知识点】【算法二分查找Java】
算法二分查找Java参照例子
Notice:以最简要的方式分享个人理解
文章目录
- 算法二分查找Java参照例子
- 1.简要说明
- 2.示例代码
- 3.演示结果
1.简要说明
在有序的数据集中,每回查找后过滤去除目标集合中的半数元素,最终定位目标值。
示例:输入整数4 以下表{目标数据集}为查找对象,执行二分查找 定位目标值的下标并输出其值。
| 目标数据集: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|
| 数组下标: | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
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表示法让你能够比较操作数,它指出了算法运行时间的增速。
推荐参考书《算法图解》
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
