二分法查找
来源:互联网 发布:软件缺陷生命周期 编辑:程序博客网 时间:2024/05/16 18:36
二分法查找
(一) 二分法查找又叫折半查找,对于已经按从小到大排好序的数组a[],当要查找某个元素b的时候,先计算(a.length - 1)/2 把该位置上的元素与b比较,如果b比a[(a.length - 1)/2]小,则在a[(a.length - 1)/2]的左边区间找。这是再算出左边区间的中间下标,又把该位置上的元素与b比较,依次类推。
比如数组int a[] = {2,11,15,19,30,32,61,72,88,90,96}现在要用二分法查找15
步骤如下,(a.length - 1)/2 = 5 ,a[5]= 32. 15< 32,所以在左区间找。 这时候{(a.length - 1)/2}/2 = 2
a[2]= 15,刚好 就找到了
代码如下:
public class ErFenFaSearch {public static void main (String args[]){int a[] = {2,11,15,19,30,32,61,72,88,90,96};search(a, 0, a.length - 1, 30);}public static int search(int s[],int low ,int high,int value){ int mid;while(low < high){mid = (low + high)/2;if(value == s[mid]){System.out.print(mid);return mid ;}else if(value< s[mid]){high = mid;}else if(value > s[mid]){low = mid;}}System.out.print(-1);return -1;}
0 0
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 字典,数组转化为JsonStr
- 获取shell脚本或命令输出
- Spring Security 3.1 中功能强大的加密工具 PasswordEncoder
- Unity5.0新特性 StateMachineBehaviours
- IOS设计规范一
- 二分法查找
- 华为上机考试-2016-8-29
- setInterval() 方法和setTimeout() 方法
- Ecshop开发经验
- 基于docker 下的 RabbitMQ 编译安装
- 最大子数组和
- zookeeper分布式安装
- spring-cache 雪崩
- 七牛云存储之上传回调