二分查找:
时间复杂度(O(log2n))
使用排序好的数组,时间和空间复杂度较低。
public static int banfen(int []arr,int value){
int left=0;
int right=arr.length-1;
int middle;
int []brr=new int[]{value,0};
while(left<right){
middle=(right-left)/2+left;
if(arr[middle]>value){
right=middle;
}
else if(arr[middle]<value){
left=middle;
}
else if(arr[middle]==value)
{
return 1;
}
}
return -1;
}
main函数:
public static void main(String []args){
int []arr={1,3,4,5,5,7,8,9};
int value=5;
int a=banfen(arr,5);
if(a==1) {
System.out.println("有这数");
}
else
{
System.out.println("没有这数");
}
}
本文深入探讨了二分查找算法的实现,展示了如何在已排序的数组中高效查找元素,详细解释了时间复杂度为O(log2n)的查找过程,并提供了一个具体的Java代码示例。
5万+

被折叠的 条评论
为什么被折叠?



