理解:
在查找算法中,二分查找是一种效率较高并且实现起来较为简单的查找方法,不断的用中间索引去和被查找的值进行比较
注意:二分搜索有个前提,被查找的数组中的元素必须是有序排列的
思路
首先定义三个元素
最小索引 minIndex
最大索引maxIndex
中间索引 (minIndex + maxIndex) / 2
如果被查找的值大于中间索引 那么证明值在中间索引的右边 就从右边继续查找,此时最小索引便为中间索引+1 一直重复查找
如果被查找的值小于中间索引 那么证明值在中间索引的左边 就从左边继续查找,此时最大索引便为中间索引-1 一直重复查找
如果被查找的值刚好等于中间索引 那么就找到了
每次循环中间索引的值都需要重新定义
Dmeo
1 | public class BinarySearch { |
二分查找和冒泡排序都属于java面试很常见的算法题