下面 search 函数的平均时间复杂度为( )。
int search(int n,int *p,int target){
int low=0,high =n;
while(low< high){
int middle=(low+ high)/2;
if(target == p[middle]){
return middle;
} else if(target >p[middle]){
low= middle +1;
} else {
high = middle;
}
}
return -1;
}
O(n log(n))
O(n)
O(log(n))
O(1)