‹ 上一题 下一题 ›

g5-04284. GESP-5级-2024-12-单选-第11题 未做

给定一个长度为 的有序数组 nums,其中所有元素都是唯一的。下面的函数返回数组中元素 target 的索引。关于上述函数,描述不正确的是( )。

int binarySearch(vector<int> &nums, int target, int left, int right) {
    if (left > right) {
        return -1;
    }

    int middle = left + ((right - left) / 2);
    if (nums[middle] == target) {
        return middle;
    }
    else if (nums[middle] < target) {
        return binarySearch(nums, target, middle + 1, right);
    }
    else
        return binarySearch(nums, target, left, middle - 1);
}

int Find(vector<int> &nums, int target) {
    int n = nums.size();
    return binarySearch(nums, target, 0, n - 1);
}
  • A. 函数采用二分查找,每次计算搜索当前搜索区间的中点,然后根据中点的元素值排除一半搜索区间。
  • B. 函数采用递归求解,每次问题的规模减小一半。
  • C. 递归的终止条件是中间元素的值等于 target,若数组中不包含该元素,递归不会终止。
  • D. 算法的复杂度为 。
未选择
输入
输出

            
答案