快速排序算法中,如果待排序序列已经有序,那么快速排序的时间复杂度为:
答案解析
**核心考点:**快速排序在有序序列上的时间复杂度
**解题思路:**如果待排序序列已经有序,那么一趟快排将无法将序列划分为两个子序列,因此快速排序将退化为冒泡排序或选择排序。
**选项分析:**
- A. O(n):快速排序在有序序列上的时间复杂度为O(n),因为一趟快排无法将序列划分为两个子序列,需要遍历整个序列进行比较和交换。
- B. O(n^2):快速排序在有序序列上的时间复杂度不会达到O(n^2),因为快速排序的平均时间复杂度为O(nlogn)。
- C. O(logn):快速排序在有序序列上的时间复杂度不会为O(logn),因为一趟快排无法将序列划分为两个子序列。
- D. O(1):快速排序在有序序列上的时间复杂度不会为O(1),因为需要遍历整个序列进行比较和交换。
**正确答案:**A
**易错点提醒:**不要混淆快速排序在有序序列上的时间复杂度和快速排序的平均时间复杂度。
正确答案:A