千家信息网

java二分搜索算法常见使用误区是什么

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要讲解了"java二分搜索算法常见使用误区是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"java二分搜索算法常见使用误区是什么"吧!直
千家信息网最后更新 2026年11月03日java二分搜索算法常见使用误区是什么

这篇文章主要讲解了"java二分搜索算法常见使用误区是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"java二分搜索算法常见使用误区是什么"吧!

直接使用二分搜索法,搜索一个无序的数组或集合。

如果你运气好的话,可能会搜索到你想要的数据,但是大部分情况下你不能得到你想要的结果。因为二分搜索是按照中间值来计算你要搜索数据的范围,每次逐渐缩小范围。如果你的结果不在一个按照升序排列的数组中,你要搜索的数据很可能被遗弃,然后返回负值。我们可以通过如下所示一段程序来断言,数组是否是有序的。

for(int i=0; i< arr.length; i++) {
if(arr[i]>arr[i+1]) {
return 0
}
return 1;
}


自己写了一个二分搜索算法,陷入了一个死循环,不知道为什么?


因为你的边界没有完全控制好,所以造成了这种情况。如下:


反面教材 1:
数组 `int arr[] = {12,14,143,145,643,23453,233452};`
搜索数据 233452(直接陷入死循环)

int start = 0;
int end = arr.length-1;
while(start <= end) {
int mid = (start + end) / 2;
if(key < arr[mid]){
end = mid;
}else if(key > arr[mid]) {
start = mid;
}else {
return mid;
}
}
return -1;

如上这种写法看起貌似是正确的,如果仔细分析的话,会发现数组的长度为7

* 第一次循环中间量mid=3

* 第二次循环中间量mid=4

* 第三次循环中间量mid=5

* 第四次循环中间量mid=6

* 第五次循环中间量mid=6

* 第六次循环中间量mid=6

* 第七次循环中间量mid=6
* .....
* 由此陷入死循环

反面教材 2:
如果我们通过调试之后,把程序调整成如下,循环搜索结果,发现依然是个死循环。最终卡在了中间值5上,究其原因是因为,我们的中间值不能一直缩小,所以最终导致这个问题。

int start = 0;
int end = arr.length-1;
while(start <= end) {
int mid = (start + end) / 2;
if(key < arr[mid]){
end = mid + 1;
}else if(key > arr[mid]) {
start = mid - 1;
}else {
return mid;
}
}
return -1;


正确写法如下:(迭代过程中,循环不断减小。)


int start = 0;
int end = arr.length-1;
while(start <= end) {
int mid = (start + end) / 2;
if(key < arr[mid]){
end = mid - 1;
}else if(key > arr[mid]) {
start = mid + 1;
}else {
return mid;
}
}
return -1;

感谢各位的阅读,以上就是"java二分搜索算法常见使用误区是什么"的内容了,经过本文的学习后,相信大家对java二分搜索算法常见使用误区是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

搜索 循环 算法 数组 常见 误区 数据 情况 结果 学习 内容 写法 反面 反面教材 教材 程序 范围 问题 有序 循环不断 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网巨头科技公司 互联网与科技发展 广州互联网科技公司 凡科互联网科技 互联网科技宣传片 中国的互联网科技企业的崛起 互联网还是高科技吗 互联网公司科技股 移动互联网年度科技创新 华夏恒生科技与互联网科技 互联网行业科技股 高科技互联网发展前景如何 无锡工业互联网科技有限公司 四川互联网展示科技馆设计 山东大美朱楼互联网科技有限公司 上海乐五互联网科技有限公司 上海同邻互联网科技有限公司规模 普陀区互联网教育科技管理办法 互联网科技大会大佬 科技互联网专业务虚会材料 互联网金融 科技 上游互联网科技 顺网科技2021年互联网排名 南山科技园互联网公司有哪些 速维有品互联网信息科技(苏州)有限公司 玉溪新华互联网科技好不好 南博望互联网科技有限公司 互联网科技资金流入 上海乐五互联网科技有限公司 中国互联网公司的科技投入
0