下面的排序算法都要处理多趟数据,哪种排序算法不能保证在下一趟处理时从待处理数据中选出最大或最小的数据?( )
这道题考排序算法每趟的核心机制。拿到题先别急着背算法名,而是想:这趟操作到底是在‘挑极值’还是‘分区间’?把四个算法每趟做的事列出来对比,答案自然浮现。
很多学生看到‘快速排序效率高’就默认它也能像冒泡或选择排序那样每趟把最大(或最小)元素定好位,这是思维定势。其实快排的‘分区’只保证枢轴左边全小、右边全大,枢轴本身未必是全局最大/最小。若只凭印象选A/C/D,就会掉进命题人设的‘处理≠选出’这个坑里。
【考点】排序算法特性|堆排序|快速排序
GESP五级《数据结构与算法》核心考点。命题人刻意设计此题卡住的是算法过程理解不深的考生——他们只背“快速排序效率高”,却不清楚它每趟的“分区”操作与“选择最大/最小”是完全不同的机制。