首页 > 试题广场 >

阅读以下 foo 函数,请问它的时间复杂度是: ...

[单选题]

阅读以下 foo 函数,请问它的时间复杂度是:

int foo(intarray[], int n, int key)

{

int n1=0,n2=n-1,m;

while(n1<=n2)

{

m=(n1+n2)/2;

if(array[m]==key)

return m;

if(array[m]>key)

n2=m-1;

else

n1=m+1;

}

return -1;

}

  • O(n2)
  • O(n)
  • O(log(n))
  • O(nlog(n))
二分法查找,时间复杂度为O(logn)
发表于 2020-11-27 10:29:04 回复(0)