A22007. 下述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…
单选题
困难
知识点
题目描述
下述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);
}
选项(单选)
答案解析
详细答案解析为会员权益,按每日次数查看。
开通 / 升级会员
上一题
下一题