按某关键字对记录序列排序,()若在排序前和排序后仍保持它们的前后关系,则排序算法是稳定的,否则是不稳定的。

题目
填空题
按某关键字对记录序列排序,()若在排序前和排序后仍保持它们的前后关系,则排序算法是稳定的,否则是不稳定的。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

如果在待排序序列中有两个元素具有相同的值,排序使它们的位置发生颠倒,则称该排序算法是不稳定的,下列哪种排序算法是不稳定的? ( )

A.堆排序

B.归并排序

C.基数排序

D.起泡排序


正确答案:A
解析:一般来说,排序过程中比较是在相邻两个记录之间进行的排序方法是稳定的,快速排序、堆排序和希尔排序等属于不稳定的排序。

第2题:

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

A.3

B.4

C.5

D.6


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

第3题:

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

A.冒泡排序

B.希尔排序

C.快速排序

D.简单选择排序


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

第4题:

在待排序的一组关键码序列k1,k2,…,kn中,若ki和kj相同,且在排序前ki领先于kj,那么排序后,如果ki和kj的相对次序保持不变,ki仍领先于kj,则称此类排序为稳定的。若在排序后的序列中有可能出现kj领先于ki的情形,则称此类排序为不稳定的。( )是稳定的排序方法。

A.快速排序
B.简单选择排序
C.堆排序
D.冒泡排序

答案:D
解析:
本题考查数据结构基础知识。
冒泡排序是稳定的排序方法,因为元素向前或向后交换时,都是在相邻的位置进行,因此可以保证关键码相同的元素不作交换。
快速排序主要通过划分实现排序,在划分序列时,基本思路是将序列后端比基准元素小者移到前端,将序列前端中比基准元素大者移到后端,元素往前移动或往后移动时会跨越中间的若干个元素,这样关键码相同的元素的相对位置就可能改变,所以快速排序是不稳定的排序方法。
简单选择排序、堆排序的过程中,同样存在元素移动时会跨越若干个元素的情况,所以也是不稳定的排序方法。

第5题:

在待排序的一组关键码序列 k1,k2,…,,kn 中,若 ki和kj相同,且在排序前ki先于kj, 那么排序后,如果ki和kj的相对次序保持不变,ki仍领先于kj,则称此类排序为稳定的。若在排序后的序列中有可能出现kj领先于ki的情形,则称此类排序为不稳定的。( )是稳定的排序方法。

A. 快速排序 B. 简单选择排序 C. 堆排序 D. 冒泡排序


正确答案:D

第6题:

Shell排序、快速排序、堆排序的稳定性如何?(23)。

若要尽可能的完成对实数数组的排序,且要求排序是稳定的,则应选(24)。

若用插入排序算法对n个记录进行排序,最佳情况下,对关键字进行的比较次数为(25)。

对于多关键字而言,(26)是一种方便而又高效的文件组织方式。

若用冒泡排序对关键字序列{19,16,11,8,5,3}从小到大进行排序,则需要次数为(27)。

A.Shell排序是稳定的

B.快速排序是稳定的

C.堆排序是稳定的

D.都不稳定


正确答案:D

第7题:

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

A.冒泡排序

B.归并排序

C.直接插入排序

D.Shell排序


正确答案:C
解析:本题考查排序的基本概念和对一些排序方法的掌握。所谓排序就是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来。直接插入排序的过程为在插入第i个记录时,R1,R2,…,Ri-1已经排好序,将第i个记录的排序码ki依次和R1,R2,…,Ri-1的排序码逐个进行比较,找到适当的位置。在这个排序过程中,如果发现两个数相等,则在已排好序的数前面插入这个相等的数,这样与原序列发生了颠倒,是不稳定的排序算法。

第8题:

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

A.冒泡排序

B.归并排序

C.直接插入排序

D.直接选择排序


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

第9题:

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

(41)

A. 冒泡排序

B. 希尔排序

C. 快速排序

D. 简单选择排序


正确答案:A

第10题:

排序算法的稳定性是指( )。

A.经过排序后,能使关键字相同的元素保持原顺序中的相对位置不变
B.经过排序后,能使关键字相同的元素保持原顺序中的相对位置改变
C.排序算法的性能与被排序元素个数关系不大
D.排序算法的性能与被排序元素个数关系密切

答案:A
解析:
排序算法的稳定性是指排序后关键字相同的元素保持原顺序中的相对位置不变。

更多相关问题