✏️ 纠错
第 236 题 / 共 251 题
10、下述C++代码实现了快速排序算法,最坏情况的时间复杂度是( )。
📝 题目解析

【答案】C

【考纲知识点】分治算法(快速排序)

【解析】该快速排序算法以首元素为基准,如果输入是有序或接近有序的数组,将导致每次分区一边为空,另一边为n-1个元素,递归深度达到n。
在这种情况下,比较和交换次数总量为1+2+...+(n-1)≈O(n2)。
因此最坏情况的时间复杂度是O(n2),正确答案为C。