您的位置:首页 > 其它

【查找算法】之折半查找

2017-04-17 11:24 387 查看
折半查找(Binary Search)又称为二分查找,其要求数据序列呈线性结构,也就是经过排序的数据序列。可以使用冒泡排序、快速排序等排序算法,先进行一次排序。

import java.util.*;

public class Main {
static final int N=5;
public static void main(String[] args){

int[] shuzu = {2,8,14,25,36};

for(int k=0; k<N; k++){
System.out.println(shuzu[k]);
}
int index = BinarySearch(shuzu, N, 36);
System.out.println(index);
}

public static int BinarySearch(int arr[], int n, int target){
int low , mid, high;
low =0;
high = n-1;

while(low <= high){
mid = (low + high)/2; //找到中间位置元素的下标
if(arr[mid] == target){
return mid;//找到返回 下标
}else if(arr[mid] > target){
high = mid-1;//查找左半部分
}else if(arr[mid] < target){
low = mid +1; // 查找右半部分
}
}

return -1;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: