软件水平考试

用某排序方法对一个关键码序列进行递增排序时,对于其中关键码相同的元素,若该方法可保证在排序前后这些元素的相对位置不变,则称该排序方法是稳定的。以下关于排序方法稳定性的叙述中,正确的是( )。A.冒泡排序和简单选择排序都是稳定的排序方法 B.冒泡排序是稳定的排序方法,简单选择排序不是 C.简单选择排序是稳定的排序方法,冒泡排序不是 D.冒泡排序和简单选择排序都不是稳定的排序方法

题目
用某排序方法对一个关键码序列进行递增排序时,对于其中关键码相同的元素,若该方法可保证在排序前后这些元素的相对位置不变,则称该排序方法是稳定的。以下关于排序方法稳定性的叙述中,正确的是( )。

A.冒泡排序和简单选择排序都是稳定的排序方法
B.冒泡排序是稳定的排序方法,简单选择排序不是
C.简单选择排序是稳定的排序方法,冒泡排序不是
D.冒泡排序和简单选择排序都不是稳定的排序方法
参考答案和解析
答案:B
解析:
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

A.冒泡排序

B.希尔排序

C.快速排序

D.简单选择排序


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

第2题:

若排序前后关键字相同的两个元素相对位置不变,则称该排序方法是稳定的。(56)排序是稳定的。

A.归并

B.快速

C.希尔

D.堆


正确答案:A
解析:排序是将无序的记录序列调整为有序记录序列的一种操作。直接插入排序:插入排序的准则是,在有序序列中插入新的记录以达到扩大有序区的长度的目的。起泡排序:起泡排序是交换类排序方法中的一种简单排序方法。其基本思想为依次比较相邻两个记录的关键字,若和所期望的相反,则互换这两个记录。希尔排序:希尔排序又称“缩小增量排序”,它的基本思想是,先对待排序列进行“宏观调整”,待序列中的记录“基本有序”时再进行直接插入排序。快速排序:起泡排序是通过一趟“起泡”选定关键字最大的记录,所有剩余关键字均小于它的记录继续进行排序。快速排序则是通过一趟排序选定一个关键字介于“中间”的记录,从而使剩余记录可以分成两个子序列分别继续排序,通常称该记录为“轴枢”。堆排序:利用堆的特性进行的排序方法即为“堆排序”。“堆排序”是一种选择类的排序方法。归并排序:归并排序的基本操作是将两个或两个以上的记录有序序列归并为一个有序序列。最简单的情况是,只含一个记录的序列显然是个有序序列,经过“逐趟归并”使整个序列中的有序子序列的长度逐趟增大,直至整个记录序列为有序序列为止。2-路归并排序则是归并排序中的一种最简单的情况,它的基本操作是将两个相邻的有序子序列“归并”为一个有序序列。基数排序:利用多关键字排序的思想。快速排序、堆排序或归并排序平均时间复杂度较低,为O(nlogn)。直接插入排序、起泡排序、归并排序和基数排序是稳定的。

第3题:

从未排序的序列中依次取出一个元素与已排序序列中的元素进行比较,然后将其放在已排序序列的合适位置上,该排序方法称为插入排序。()

此题为判断题(对,错)。


参考答案:√

第4题:

对n个关键码构成的序列采用直接插入排序法进行升序排序的过程是:在插入第i个关键码Ki时,其前面的i-1个关键码己排好序,因此令Ki与Ki-1、Ki-2、...,依次比较,多到K1为止,找到插入位置并移动相关元素后将Ki插入有序子序列的适当位置,完成本趟(即第i-1趟)排序。以下关于直接插入排序的叙述中,正确的是()。

A.若原关键码序列已经升序排序,则排序过程中关键码间的比较次数最少

B.若原关键码序列已经降序排序,则排序过程中关键码间的比较次数最少

C.第1趟完成后即可确定整个序列的最小关键码

D.第1趟完成后即可确定整个序列的最大关键码


正确答案:A

第5题:

从未排序的序列中依次取出一个元素与已排序序列中的元素进行比较,然后将其放在已排序序列的合适位置上,该排序方法称为 ______。

A.插入排序

B.选择排序

C.希尔排序

D.归并排序

A.

B.

C.

D.


正确答案:A
解析:插入排序是将一个记录插入到已排好序的有序表中,选择排序是指通过n-1次关键字间的比较,从n-i+1个记录中选出关键字最小的记录并与第i个记录交换,希尔排序是先将整个记录分成若干个子序列分别排序,然后堆全体记录进行排序,归并排序是指将两个或两个以上的有序表组合成一个新的有序表。

第6题:

从未排序序列中依次取出元素与已排序序列中的元素进行比较,将其放入已排序序列的正确位置上的方法,这种排序方法称为()。

A.归并排序

B、冒泡排序

C、插入排序

D、选择排序


参考答案:C

第7题:

如果待排序序列中两个数据元素具有相同的值,在排序后它们的位置发生颠倒,则称该排序是不稳定的。下列不稳定的排序方法是

A.冒泡排序

B.归并排序

C.直接插入排序

D.直接选择排序


正确答案:D
解析:排序方法有很多种,在这些排序方法中,直接插入排序、冒泡排序、归并排序和基数排序是稳定的排序方法,直接选择排序、希尔排序、快速排序和堆排序是不稳定的。

第8题:

排序方法中,从未排序序列中依次取出元素与已排序序列中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为()。

A.希尔排序

B.冒泡排序

C.插入排序

D.选择排序


正确答案:C

第9题:

若排序前后关键字相同的两个元素相对位置不变,则称该排序方法是稳定的。下列排序算法中,有(14)种排序算法是稳定的:归并排序、快速排序、希尔排序、堆排序、基数排序、直接插入排序、冒泡排序、直接选择排序。

A.3

B.4

C.5

D.6


正确答案:B
解析:此题考察考生对稳定排序概念的理解。稳定排序算法是指在排序过程中两个排序关键字相同的元素,在排序的过程中位置不发生变化。例如对数列:62,42,12,36,4,12,67进行排序时,第一个12在排序完毕以后要排在第二个12的前面,这就是稳定的排序。有些人可能会发出疑问:既然都是12,为什么一定要保证它的顺序呢?举一个简单的例子:如果组织一次有奖答题活动,选手在电脑上答完题以后,就直接提交数据,最后按答题得分奖励前:100名参赛选手,这样会出现一个问题,即如果同时有10个人并列第100名,而我们只能给一个人发奖,到底给谁发呢?最合理的判断标准是给先提交答案的人发奖。这样稳定排序就可以用上了。以上的这些排序算法中,归并排序、基数排序、直接插入排序和冒泡排序是稳定的,其它的都不稳定。

第10题:

下列叙述中正确的是( )。

A.堆排序是一种稳定的内部排序方法

B.在排序过程中,若出现元素向逆序向移动的现象,那么这样的排序是不稳定的

C.折半插入排序是一种稳定的内部排序方法

D.待排序列基本有序时选用快速排序,能够最好地发挥这种排序方法的优势


正确答案:C

更多相关问题