itgle.com

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

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

A.冒泡排序和简单选择排序都是稳定的排序方法
B.冒泡排序是稳定的排序方法,简单选择排序不是
C.简单选择排序是稳定的排序方法,冒泡排序不是
D.冒泡排序和简单选择排序都不是稳定的排序方法

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

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

    A.归并

    B.快速

    C.希尔

    D.堆


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

  • 第2题:

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

    A.插入排序

    B.选择排序

    C.希尔排序

    D.归并排序

    A.

    B.

    C.

    D.


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

  • 第3题:

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

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

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

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

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


    正确答案:A

  • 第4题:

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

    A.插入排序

    B.选择排序

    C.希尔排序

    D.归并排序


    正确答案:A

  • 第5题:

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

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


    正确答案:D

  • 第6题:

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

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

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

  • 第7题:

    若要求对大小为n的数组进行排序的时间复杂度为,且是稳定的(即如果待排序的序列中两个数据元素具有相同的值,在排序前后它们的相对位置不变),则可选择的排序方法是( )

    A.快速排序
    B.归并排序
    C.堆排序
    D.冒泡排序

    答案:B
    解析:
    常见的排序方法的基本情况如图所示,满足时间复杂度且是稳定的方法只有归并排序最符合,

  • 第8题:

    用某排序方法对一元素序列进行非递减排序时,若该方法可保证在排序前后排序码相同者的相对位置不变,则称该排序方法是稳定的。简单选择排序法排序方法是不稳定的,(61)可以说明这个性质。

    A.21 48 21*63 17
    B.17 21 21*48 63
    C.63 21 48 21*17
    D.21*17 48 63 21

    答案:A
    解析:
    本题考查数据结构基础知识。简单选择排序算法的思想是:首先在所有记录中选出码最小的记录,把它与第1个记录交换,然后在其余的记录内选出排序码最小的记录,与第2个记录交换…依次类推,直到所有记录排好序。直接选择排序的平均时间复杂度O(n2),是不稳定的排序。第一趟下来,第一个一定是最小的或者最大关键字。算法程序:
    /*将数组data中n个整数按非递减有序的方式进行排序*/
    void SelectSort(intdate[],intn)
    {
    inti,j,k,temp;
    for(i=0;ik=i;//data[k]表示当前找到的最小数
    for(j=i+1;jif(k!=i){temp=data[i];data[i]=data[k];data[k]=temp;}
    }
    }
    根据以上算法,A选项的数序列经过4次排序,i=4,使用i

  • 第9题:

    排序的方法有很多种,()法从未排序序列中依次取出元素,与已排序序列中的元素作比较,将其放入已排序序列的正确位置上。()法从未排序序列中挑选元素,并将其依次放入已排序序列的一端。交换排序是对序列中元素进行一系列比较,当被比较的两元素为逆序时,进行交换;()和()是基于这类方法的两种排序方法,而()是比()效率更高的方法;()法是基于选择排序的一种方法,是完全二叉树结构的一个重要应用。


    正确答案:插入排序;选择排序;起泡排序;快速排序;快速排序;起泡排序;堆排序

  • 第10题:

    每一趟排序时从排好序的元素中挑出一个值最小的元素与这些未排小序的元素的第一个元素交换位置,这种排序方法成为()排序法。


    正确答案:选择

  • 第11题:

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

    归并排序

    B

    冒泡排序

    C

    插入排序

    D

    选择排序


    正确答案: D
    解析: 暂无解析

  • 第12题:

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

    起泡排序

    B

    归并排序

    C

    Shell排序

    D

    直接插入排序


    正确答案: A
    解析: 暂无解析

  • 第13题:

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

    A.冒泡排序

    B.归并排序

    C.直接插入排序

    D.直接选择排序


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

  • 第14题:

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

    A.3

    B.4

    C.5

    D.6


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

  • 第15题:

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

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

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

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

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


    正确答案:C

  • 第16题:

    若要求对大小为n的数组进行排序的时间复杂度为O(nlog2n),且是稳定的(即如果待排序的序列中两个数据元素具有相同的值,在排序前后它们的相对位置不变),则可选择的排序方法是( )。

    A.快速排序 B.归并排序 C.堆排序 D.冒泡排序


    正确答案:B

  • 第17题:

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

    (41)

    A. 冒泡排序

    B. 希尔排序

    C. 快速排序

    D. 简单选择排序


    正确答案:A

  • 第18题:

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

    A. 若原关键码序列已经升序排序,则排序过程中关键码间的比较次数最少
    B.若原关键码序列已经降序排序,则排序过程中关键码间的比较次数最少
    C.第1趟完成后即可确定整个序列的最小关键码
    D.第1趟完成后即可确定整个序列的最大关键码

    答案:A
    解析:

  • 第19题:

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

    A.插入排序
    B.选择排序
    C.快速排序
    D.冒泡排序

    答案:A
    解析:
    一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法--插入排序法。

  • 第20题:

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

    • A、起泡排序
    • B、归并排序
    • C、Shell排序
    • D、直接插入排序
    • E、简单选择排序

    正确答案:C,E

  • 第21题:

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

    • A、希尔排序
    • B、冒泡排序
    • C、插入排序
    • D、选择排序

    正确答案:C

  • 第22题:

    单选题
    排序方法中,从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为()
    A

    希尔排序

    B

    起泡排序

    C

    插入排序

    D

    选择排序


    正确答案: D
    解析: 暂无解析

  • 第23题:

    填空题
    排序方法有许多种,()法从未排序的序列中依次取出元素,与已排序序列(初始时为空)中的元素作比较,将其放入已排序序列的正确位置上;()法从未排序的序列中挑选元素,并将其依次放入已排序序列(初始时为空)的一端; 交换排序方法是对序列中的元素进行一系列比较,当被比较的两元素逆序时,进行交换;()和()是基于这类方法的两种排序方法, 而()是比()效率更高的方法;()法是基于选择排序的一种排序方法,是完全二叉树结构的一个重要应用。

    正确答案: 插入排序,选择排序,起泡排序,快速排序,快速排序,起泡排序,堆排序
    解析: 暂无解析