第12题 下面关于排序稳定性的描述,正确的是( )。
【答案】B
【考纲知识点】 排序算法的稳定性
【解析】
各选项分析
选项A:
排序算法的稳定性与时间复杂度并无关联。稳定性是指在排序过程中,相等元素的相对顺序是否保持不变;而时间复杂度描述的是算法执行时间随输入规模增长的变化趋势。所以选项A错误。
选项B:
稳定排序的定义就是在排序操作中,保证相同元素的相对顺序不变。例如,在一个待排序序列中,如果有两个相等的元素a和b,且a在b之前,那么经过稳定排序后,a仍然会在b之前。所以选项B正确。
选项C:
选择排序不是稳定排序。选择排序的基本思想是每次从未排序部分选择最小(或最大)的元素,与未排序部分的第一个元素交换位置。在交换过程中,可能会改变相等元素的相对顺序。例如,序列[5, 8, 5, 2],第一次选择最小元素2与第一个元素5交换位置后,两个5的相对顺序就发生了改变。所以选项C错误。
选项D:
插入排序是稳定排序。插入排序的工作原理是将未排序数据插入到已排序序列的合适位置。在插入过程中,如果遇到相等元素,插入排序会将新元素插入到相等元素的后面,从而保证相等元素的相对顺序不变。所以选项D错误。
综上,答案选B。