下面函数实现了在一个升序整型数组arr中查找一个目标值target的位置,请分析它的时间复杂度为()
int search(int start, int end, int target, int *arr) { if(start <= end) { int mid = start + (end - start) / 2; if (arr[mid] == target) return mid; else if (target > arr[mid]) return search(mid + 1, end, target, arr); else if (target < arr[mid]) return search(start, mid - 1, target, arr); } return -1; }