二分查找:
优点:时间复杂度低,仅为logN
注意:前提是有序数组
Code:
public class Code_01_binarySearch {
public static void main(String[] args) {
//测试数组
int[] myList = {1,3,5,7,9};
System.out.println(binarySearch(myList, 7));
System.out.println(binarySearch(myList, 10));
}
public static int binarySearch(int[] list,int item){
int low = 0;
int high = list.length - 1;
while(low <= high){
//定义中间位置
int mid = low +(high - low)/2;
int guess = list[mid];
if(guess == item){
return mid;
}
if(guess < item){
low = mid + 1;
}
else{
high = mid - 1;
}
}
return -1;
}
}
后续还会有更新的,欢迎大家访问我个人博客