以下关于快速排序算法的描述中,错误的是 (35) 。在快速排序过程中,需要设立基准元素并划分序列来进行排序。若序列由元素12,25,30,45,52,67,85构成,则初始排列为 (36) 时,排序效率最高(令序列的第一个元素为基准元素)。
(36)处填()。
A.45, 12, 30, 25,67, 52, 85
B.85, 67, 52, 45, 30, 25, 12
C.12, 25, 30, 45, 52, 67, 85
D.45, 12, 25, 30, 85, 67, 52
参考答案:A
解析:
[要点解析] 本题考查快速排序的知识点。快速排序的基本思想是:通过一趟排序将待排的记录分割成独立的两部分,其中一部分记录的关键字均不大于另一部分记录的关键字,然后再分别对这两部分记录继续进行排序,以达到整个序列有序。
快速排序是一种不稳定的排序方法,其平均时间复杂度是O(nlog2n),空间复杂度是O(nlog2n),如果初始记录序列按关键字有序或基本有序时,快速排序则退化为冒泡排序,此时,算法的时间复杂度为O(n2),因此快速排序最坏情况下的时间复杂度不是O(nlog2n),而是O(n2),答案B错误。
对有序列由元素{12,25,30,45,52,67,85}构成的一组元素,如果要使排序效率最高,则应该选择基准元素为45,即让45作为第一个元素,然后让25作为左边元素的基准元素,67作为右边元素的基准元素,进行排序,因此答案为A。