GESP 四级 · GESP 四级样题(C++ 组) 第 20 题

判断题 · 答案 A · 考点:算法、复杂度分析

← 整套速查表 GESP 四级 全部真题

题目

冒泡排序是一种稳定的排序算法。( )

答案:A

考点

算法复杂度分析

解题思维

这题考排序算法的稳定性概念。拿到题先想定义:稳定指相等元素相对顺序不变。冒泡排序只交换相邻且前大于后的元素,遇到相等不交换,所以天然稳定。

常见错误

学生最容易把'稳定'和'效率高'混淆,觉得冒泡慢就不稳定;或者看到冒泡是基础算法就下意识认为它不严谨。其实稳定性只看相等元素是否交换,与性能无关。还有考生会误以为所有基础排序都不稳定,把插入排序、归并排序的稳定性特性套用到冒泡上产生矛盾感。

详细解析(节选)

【考点】排序算法稳定性概念辨析

GESP 四级算法模块常考基础算法性质。命题人专门出判断题,就是卡住那些'只背代码不懂原理'的考生——很多人能写出冒泡排序,却说不清它为什么稳定,更分不清级别差异(四级才明确要求掌握稳定性概念)。这道题没给任何数据,纯粹考定义记忆与理解深度。

稳定性定义:排序后,原序列中值相等的元素,其相对前后顺序保持不变。这是判断稳定性的唯一标准,与算法效率、代码行数、是否原地操作都无关。

冒泡排序为何稳定:冒泡的核心是相邻比较交换。内层循环只处理相邻元素,交换条件严格限定为'前一个元素大于后一个元素'。这意味着: 1. 若前>后,交换(大的往后走) 2. 若前=后,不交换(保持原序) 3. 若前<后,不交换(小的已在前面)

关键点在于第2条:相等时绝不交换。既然相等元素永远不会被互换位置,它们原本谁在前谁在后,排序后依然谁在前谁在后。这就是稳定性的本质来源。

易错点深挖:

命题视角:这类题在 GESP 四级出现频率很高,因为它是区分'会写代码'和'懂算法性质'的分水岭。命题人喜欢用'冒泡排序是一种稳定的排序算法'这种绝对陈述,考察学生是否能从原理层面辩护这个结论,而不是死记硬背。

结论:基于稳定性定义和冒泡排序的交换机制,冒泡排序确实保持相等元素的相对顺序,因此该判断题正确。

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断