GESP C++ 真题 · 逐题精解
首页C++五级真题 › 2025年12月 › 第10题

GESP 2025年12月 C++五级 单选题 第10题

C++五级单选题2025年12月第10题

所属知识点:复杂度分析 难度要求:掌握 考频:—

下述C++代码实现了快速排序算法,最坏情况的时间复杂度是( )。
int partition(vector<int>& arr, int low, int high) {
int i = low, j = high;
int pivot = arr[low];                 // 以首元素为基准
while (i < j) {
while (i < j && arr[j] >= pivot) j--;
while (i < j && arr[i] <= pivot) i++;
if (i < j) swap(arr[i], arr[j]);
}
swap(arr[i], arr[low]);
return i;
}
void quickSort(vector<int>& arr, int low, int high) {
if (low >= high) return;
int p = partition(arr, low, high);
quickSort(arr, low, p - 1);
quickSort(arr, p + 1, high);
}

正确答案:C

题目解析

以首元素为基准、对已排序数组,划分极不平衡,快排退化为最坏 O(n²),选 ………

完整解析为会员内容二级及以上的逐题精讲需开通 VIP。一级解析全部免费。前往 GESPPASS 解锁

想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?

进入 GESPPASS 开始练习