算法
数据结构与算法JAVA版
1.2二分查找
Basic
需求:在有序数组A内,查找值target
- 如果找到返回索引
- 如果没有找到返回-1
算法描述 | |
---|---|
前提 | 给定一个内含n个元素的有序数组A,满足A0<A1<A2···An-1,一个待查值target |
1 | 设置i=0,j=n-1 |
2 | 如果i>j,结束查找,没找到 |
3 | 设置m=floor(i+j/2),m为中间索引,floor 是向下取整 (<=i+j/2的最小整数) |
4 | 如果target<A[m]设置j=m-1,跳到第2步 |
5 | 如果A[m]<target设置i=m+1,跳到第2步 |
6 | 如果A[m]=target,结束查找,找到了 |
1 | //A为有序数组,target为待查找值 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 zycのBlog!
评论