国家开放大学

以下函数为直接选择排序算法,对a[1],a[2],…a[n]中的记录进行直接选择排序,完成程序中的空格。

题目
以下函数为直接选择排序算法,对a[1],a[2],…a[n]中的记录进行直接选择排序,完成程序中的空格。
参考答案和解析
n-1;n;k=j;a[i]=a[k];a[k]=temp
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

数据序列(8,9,l0,4,5,6,20,1,2)只能是下列排序算法中的()的两趟排序后的结果。

A、直接选择排序

B、冒泡排序

C、直接插入排序

D、堆排序


参考答案:C

第2题:

对n个整数的序列进行直接选择排序。(1)算法描述。(2)并给出实例(5249803614586123)的排序过程。


参考答案:(1)直接选择算法描述:
[1]第1趟,从n个记录中,经过比较选出关键字值为最小的记录,并与第1个记录交换位置。
[2]第2趟,从余下的n-1个记录中选择出当前关键字最小的排序,并与第2个记录交换位置。
[3]第i趟,在无序的第i个到第n个的n-i+1个记录中选出关键字最小的记录,与第i个记录进行互换。
[4]以此类推,直至第n-1趟排序结束。

第3题:

●下述排序算法中,稳定的是 (42) 。

(42) A.直接选择排序

B.直接插入排序

C.快速排序

D.堆排序


正确答案:B
【解析】常用的排序算法中,稳定的有:直接插入排序、冒泡排序、基数排序和归并排序等。

第4题:

下述排序算法中,稳定的是(42)。

A.直接选择排序

B.直接插入排序

C.快速排序

D.堆排序


正确答案:B
解析:常用的排序算法中,稳定的有:直接插入排序、冒泡排序、基数排序和归并排序等。

第5题:

下列排序算法中,时间复杂度不受数据初始化状态影响,恒为0(log2n)的是()。

A.堆排序

B.冒泡排序

C.直接选择排序

D.快速排序


正确答案:D

第6题:

在下列排序算法中,哪一个算法的时间复杂度与初始排序无关()。

A、直接插入排序

B、冒泡排序

C、快速排序

D、直接选择排序


参考答案:D

第7题:

对有n个记录的表r[1…n]进行直接选择排序,所需要进行的关键字间的比较次数为______。


正确答案:n(n-1)/2
n(n-1)/2 解析:选择排序的思想为:扫描整个线性表,从中选出最小的元素,将它交换到表的最前面;然后对剩下的子表采用同样的方法,直到子表空为止。第一个元素需要比较n-1次,第二次元素需要比较n-2次,依次类推,倒数第二个元素只须比较1次即可,所以总的比较次数为:(n-1)+(n-2)+…2+1=n(n-1)/2。

第8题:

下列排序方法中,最好情况下,时间复杂度为O(n)的算法是______。

A.选择排序

B.归并排序

C.快速排序

D.直接插入排序


正确答案:D
解析:各种排序算法性能比较如下:

第9题:

比较直接插入排序、起泡排序、简单选择排序、快速排序、堆排序、2一路归并排序和基数排序的算法性能,并填写下表:

A.O(n2)

B.O(n)

C.O(1)

D.O(nlogn)

E.O(dn)


正确答案:A
解析:1.按平均的时间性能来分,有3类排序方法:1)时间复杂度为O(niogn)的方法有:快速排序、堆排序和归并排序。其中快速排序目前被认为是最快的一种排序方法,后两者之比较,在n值较大的情况下,归并排序较堆排序更快。2)时间复杂度为O(n2)的有:插入排序、起泡排序和选择排序。其中以插入排序为最常用,特别是对于已按关键字基本有序排列的记录序列尤为如此,选择排序过程中记录移动次数最少。3)时间复杂度为O(n)的排序方法只有基数排序一种。●当待排记录序列按关键字顺序有序时,插入排序和起泡排序能达到O(n)的时间复杂度;而对于快速排序而言,这是最不好的情况,此时的时间性能蜕化为O(n2),因此应尽量避免。●选择排序、堆排序和归并排序的时间性能不随记录序列中关键字的分布而改变。●以上对排序的时间复杂度的讨论主要考虑排序过程中所需进行的关键字之间的比较次数。当待排序记录中其他各数据项比关键字占有更大的数据量时,还应考虑到排序过程中移动记录的操作时间,有时这种操作的时间在整个排序过程中占的比例更大,从这个观点考虑,简单排序的3种排序方法中起泡排序效率最低。2.按排序过程中所需的辅助空间大小来分。1)所有的简单排序方法(包括;插入、起泡和选择排序)和堆排序的空间复杂度均为O(1)。2)快速排序为O(nlogn),为递归程序执行过程中栈所需的辅助空间。3)归并排序和基数排序所需辅助空间最多,其空间复杂度为O(n)。

第10题:

下列排序算法中时间复杂度不受数据初始状态影响,恒为O(n2)的是

A、堆排序

B、起泡排序

C、直接选择排序

D、快速排序


正确答案:C

更多相关问题