第21540题 单选题
给定如下C++实现的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 - 1;
    }
  }
  return -1;
}
A

O(n)

B

O(log(n))

C

O(1)

D

可能无法返回

程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析