下面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;}
填写答案