第 10 题
对一组数据(84,47,15,21,25)排序,数据在排序的过程中的变化如下:
A. 堆排序 B. 冒泡排序 C. 快速排序 D. 插入排序
[tag_link]
正确答案:C
观察排序过程中的变化:初始序列为 (84,47,15,21,25)。 第一步变为 (25,47,15,21,84),这类似于快速排序中选择第一个元素 84 作为枢轴进行分区的结果:将小于 84 的元素移至左边,大于的移至右边,最终 84 被放置到正确位置(末尾)。 第二步变为 (21,25,15,47,84),这对应于对左子序列 (25,47,15,21) 进行快速排序的分区操作,选择 25 作为枢轴,经过交换和调整后得到此序列。 这些步骤符合快速排序的分区递归特性。
其他排序方法不符:冒泡排序每趟通过相邻交换将最大元素移至末尾,第一趟后应为 (47,15,21,25,84),与第二步不同; 插入排序逐步构建有序序列,不会直接将 84 移至末尾; 堆排序需先建堆再交换调整,但第二步到第三步的变化不似堆调整过程。 因此,所选方法为快速排序。