Java极简算法-二分查找

Java极简算法-二分查找,第1张

👨🏻‍🎓博主介绍:大家好,我是芝士味的椒盐,一名在校大学生,热爱分享知识,很高兴在这里认识大家🌟
🌈擅长领域:Java、大数据、运维、电子
🙏🏻如果本文章各位小伙伴们有帮助的话,🍭关注+👍🏻点赞+🗣评论+📦收藏,相应的有空了我也会回访,互助!!!
🤝另本人水平有限,旨在创作简单易懂的文章,在文章描述时如有错,恳请各位大佬指正,在此感谢!!!


文章目录 先以如下图查找5为案例展示Java二分查找实现

先以如下图查找5为案例展示

简单查找要从某一个有序序列中查找需要n次,也就是时间复杂度微O(n),而二分查找在序列有序的情况下,每次范围缩小50%,时间复杂度为O(logn)显然比简单查找快了不知多少倍,如上案例,需要检索31元素位置,简单查找要找10次,而二分查找4次即可。 Java二分查找实现
/**
 * 

* 二分查找 *

* * @author starrysky * @since 2022/2/8 */
public class BinarySearch { //必须微有序的数列 static int[] tag = {100,102,103,104,105,106,107,108,109,110}; public static void main(String[] args) { System.out.println(search(tag,110)); } public static int search(int[] tags, int item){ int low = 0; int high = tags.length-1; while (low<=high){ //向下取整 int mid = (low + high)/2; int guess = tags[mid]; if (guess==item){ return mid; }else if (guess > item){ //比目标值大,上界向下减 high = mid - 1; }else{ //比目标小,下界向上加 low = mid + 1; } } return Integer.MAX_VALUE; } }
执行结果:

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/927819.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-17
下一篇 2022-05-17

发表评论

登录后才能评论

评论列表(0条)

保存