在交换排序算法中,关于快速排序和冒泡排序的比较,以下哪项描述是正确的?
答案解析
快速排序在最坏情况下的时间复杂度为O(n^2),这种情况发生在每次选取的基准都是最大或最小元素时。然而,快速排序的平均时间复杂度为O(n log n),这是因为在大多数情况下,快速排序能够有效地分割数组。冒泡排序的时间复杂度始终为O(n^2),因为它需要两两比较所有元素,无论数组的初始状态如何。因此,选项B正确描述了快速排序和冒泡排序的时间复杂度。选项A错误,因为快速排序的平均时间复杂度优于O(n^2)。选项C错误,因为快速排序的最坏时间复杂度不是O(n log n)。选项D错误,因为快速排序和冒泡排序在最好情况下的时间复杂度不是O(n),且空间复杂度的比较与题目无关。
正确答案:B