单选题

下面 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;
}
A

O(n log(n))

B

O(n)

C

O(log(n))

D

O(1)

赣ICP备20007335号-2