如果待排序序列中两个元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的。(41)是稳定的排序方法,因为这种方法在比较相邻元

admin2009-01-20  36

问题 如果待排序序列中两个元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的。(41)是稳定的排序方法,因为这种方法在比较相邻元

选项 A、冒泡排序
B、希尔排序
C、快速排序
D、简单选择排序

答案A

解析 本题考查排序算法。冒泡排序的思想是比较相邻的元素,将较大者交换到后面,对于值相同的元素,则无需交换。希尔排序则是按照一定的间隔将元素分成若干组,在同组内进行直接插入排序,这样较小的元素以较大的步幅向前移动。但是在希尔排序中,值相同的元素不一定分在同一组,因此,在排序前后它们的相互位置可能发生颠倒。快速排序是先设定一个枢轴元素(基准元素,通常是序列的第一个元素),从序列的两端开始扫描,将大于枢轴元素的元素向序列后端换,小于枢轴元素者向序列前端换。在此过程中,值相同的元素会交换位置,因此快速排序不是稳定的排序方法。n个元素进行简单选择排序的基本方法是:通过n-i次元素之间的比较,从n-i+1个元素中选出最小元素,并与第i(1≤I≤n)个元素进行交换,当i等于n时所有记录有序排列。简单选择排序是一种不稳定的排序方法。
转载请注明原文地址:https://kaotiyun.com/show/cmjZ777K
0

最新回复(0)