时间:2021-05-19
java算法之二分查找法的实例详解
原理
假定查找范围为一个有序数组(如升序排列),要从中查找某一元素,如果该元素在此数组中,则返回其索引,否则返回-1。通过数组长度可取出中间位置元素的索引,将其值与目标值比较,如果中间位置元素值大于目标值,则在左部分进行查找,如果中间位置值小于目标值,则在右部分进行查找,如此循环,直到结束。二分查找算法之所以快是因为它没有遍历数组的每个元素,而仅仅是查找部分元素就能找到目标或确定其不存在,当然前提是查找范围为有序数组。
Java的简单实现
输出结果为:
目标元素索引值:3 目标元素索引值:-1二分查找算法的时间复杂度
假设范围数组长度为N,则二分查找的时间复杂度为O(logN)
以上就是java算法中二分查找的实例详解,如有疑问请留言或到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
java数据结构之二分查找法binarySearch的实例折半查找法,前提是已经排好序的数组才可查找实例代码:publicclassBinarySearch{i
本文实例讲述了Python有序查找算法之二分法。分享给大家供大家参考,具体如下:二分法是一种快速查找的方法,时间复杂度低,逻辑简单易懂,总的来说就是不断的除以2
本文实例讲述了PHP有序表查找之二分查找(折半查找)算法。分享给大家供大家参考,具体如下:简介:二分查找技术,又称为折半查找。它的前提是线性表中的记录必须是关键
C经典算法之二分查找法1.根据key查找所在数组的位置#include/*key=9;12345678arr3,4,5,7,9,11,21,23low=1mid
本文实例讲述了C++二分法在数组中查找关键字的方法。分享给大家供大家参考。具体如下:#in