● 如果待排序序列中两个元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的。 (41) 是稳定的排序方法,因为这种方法在比较相邻元素时,值相同的元素并不进行交换。(41)A. 冒泡排序B. 希尔排序C. 快速排序D. 简单选择排序

题目

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

(41)

A. 冒泡排序

B. 希尔排序

C. 快速排序

D. 简单选择排序


相似考题
更多“● 如果待排序序列中两个元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不 ”相关问题
  • 第1题:

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

    A.冒泡排序

    B.归并排序

    C.直接插入排序

    D.直接选择排序


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

  • 第2题:

    以下关于排序算法的叙述中,正确的是( )。

    A.冒泡排序法中,元素的交换次数与元素的比较次数一定相同

    B.冒泡排序法中,元素的交换次数不少于元素的比较次数

    C.简单选择排序中,关键字相同的两个记录在排序前后的相对位置一定不变

    D.简单选择排序中,关键字相同的两个记录在排序前后的相对位置可能交换


    正确答案:D
    解析:冒泡排序法的基本思路是:将相邻位置上的关键字进行比较,如果为逆序,则交换,否则继续往下比较,直到序列已经排好。所以,在这个过程中,元素问的比较次数应大于或等于交换次数。简单选择排序算法的思路是:第1趟在n个记录中选择最小的记录,将它与第1个元素交换,第2趟在n-1个基类中选取最小记录,将它与第2个元素交换,依此类推,直到序列的第n个元素为止。在这个过程中,关键字相同的两个记录在排序前后的相对位置可能发生变化。例如,序列为(80,80,40,30)时,选择排序法需要将第1个元素80和最后一个元素30交换,这样就使得两个80的相对位置改变了。

  • 第3题:

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

    A.冒泡排序

    B.归并排序

    C.直接插入排序

    D.Shell排序


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

  • 第4题:

    快速排序算法在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于等于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了 (61) 算法设计策略。已知确定基准元素操作的时间复杂度为,则快速排序算法的最好和最坏情况下的时间复杂度为 (62) 。

    A.分治

    B.动态规划

    C.贪心

    D.回溯


    正确答案:A
    本题考查快速排序算法。快速排序算法是应用最为广泛的排序算法之一。其基本思想是将n个元素划分为两个部分:一部分元素值小于某个数;另一部分元素值大于某个数,该数的位置确定;然后进一步划分前面部分和后面部分。根据该叙述,可以知道,这里采用的是分治算法设计策略。由于已知划分操作的时间复杂度为,不需要合并子问题的答案。对于最好的情况,应该是每次划分都把n个元素划分为大约2个n/2个元素的子数组,此时T(n)=2T(n/2)+解该递归式,可得时间复杂度为。若刚好划分的极度不均衡,即每个划分刚好把n个元素划分为一边0个元素,一边n-l个元素,此时T(n)=T(n/1)+解该递归式,可得时间复杂度为。

  • 第5题:

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

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

    答案:B
    解析:

  • 第6题:

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

    A.快速排序
    B.归并排序
    C.堆排序
    D.直接插入排序

    答案:D
    解析:
    常见的排序方法的基本情况如图所示,选项中满足时间复杂度且是稳定的方法只有直接插入排序最符合,故正确答案为:D

  • 第7题:

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

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

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

  • 第8题:

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

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

    正确答案:C,E

  • 第9题:

    排序算法中,从尚未排序序列中依次取出元素与已排序序列(初始为空)中的元素进行比较(要求比较次数尽量少),然后将其放入已排序序列的正确位置的方法是()


    正确答案:折半插入排序

  • 第10题:

    一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完,这种排序算法被称为()。

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

    正确答案:B

  • 第11题:

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

    起泡排序

    B

    归并排序

    C

    Shell排序

    D

    直接插入排序

    E

    简单选择排序


    正确答案: B,C
    解析: 暂无解析

  • 第12题:

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

    起泡排序

    B

    归并排序

    C

    Shell排序

    D

    直接插入排序


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

  • 第13题:

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

    A.堆排序

    B.归并排序

    C.基数排序

    D.起泡排序


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

  • 第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题:

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

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


    正确答案:B

  • 第16题:

    对一待排序序列分别进行直接插入排序和简单选择排序,若待排序序列中有两个元 素的值相同,则(63) 保证这两个元素在排序前后的相对位置不变。

    A.直接插入排序和简单选择排序都可以

    B.直接插入排序和简单选择排序都不能

    C.只有直接插入排序可以

    D.只有简单选择排序可以


    正确答案:C
    本题考查简单排序算法特点。直接插入排序的思想是:是将n个待排序的元素由一个有序表和一个无序表组成,开始时有序表中只包含一个元素。排序过程中,每次从无序表中取出第一个元素,将其插入到有序表中的适当位置,使有序表的长度不断加长,完成排序过程。例如,对序列21,48,21*,9进行直接插入排序,21和21*.的相对位置在排序前后可保持,如下所示:第一趟得到有序子序列:21.48第二趟得到有序子序列:21,21*,48第三趟得到有序序列:9,21,21*,48简单选择排序的过程是:第一趟在n个记录中选取最小记录作为有序序列的第一个记录;第二趟在n-l个记录中选取最小记录作为有序序列的第二个记录;第i趟在n-i+l个记录中选取最小的记录作为有序序列中的第一个记录,直到将序列排列有序。对序列21,48,21*,9进行简单选择排序,过程如下:第一趟选出最小元素,将其交换至t号位,序列为:9,48.21*,21第二趟选出次小元素,将其交换至2号位,序列为:9.21*.48,21第三趟选出第三小元素,将其交换至3号置,序列为:9,21*.21,48从该例可知.简单选择排序过程不能保证序码相同的两个元素在排序前后的相对位置不变,直接插入排序则可以。

  • 第17题:

    快速排序算法在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于等于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了( )算法设计策略。已知确定基准元素操作的时间复杂度为Θ(n),则快速排序算法的最好和最坏情况下的时间复杂度为(请作答此空)。


    答案:D
    解析:
    快速排序采用分治法的思想。快速排序最好情况的时间复杂度是O(nlog2n)。最坏情况下,即初始序列按关键字有序或者基本有序时,快速排序的时间复杂度为O(n2)。

  • 第18题:

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

    A.快速排序
    B.归并排序
    C.直接选择排序
    D.冒泡排序

    答案:C
    解析:
    常见的排序方法的基本情况如图所示,选项中满足平均时间复杂度且是不稳定的方法只有直接插入排序符合要求。

  • 第19题:

    快速排序算法在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于等于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了()算法设计策略。

    • A、分治
    • B、动态规划
    • C、贪心
    • D、回溯

    正确答案:A

  • 第20题:

    排序算法中,从尚未排序序列中依次取出元素与已排序序列(初始为空)中的元素进行比较,然后将其放入已排序序列的正确位置的方法是()

    • A、冒泡排序
    • B、直接插入排序
    • C、归并排序
    • D、选择排序

    正确答案:B

  • 第21题:

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

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

    正确答案:C,E

  • 第22题:

    单选题
    一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完,这种排序算法被称为()。
    A

    冒泡排序

    B

    选择排序

    C

    插入排序

    D

    快速排序


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

  • 第23题:

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

    冒泡排序

    B

    直接插入排序

    C

    归并排序

    D

    选择排序


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