在时间复杂度为O(nlog<sub>2</sub>n)的所有排序

题目

在时间复杂度为O(nlog2n)的所有排序方法中,()排序方法是稳定的。

参考答案和解析
正确答案:归并
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

堆排序最坏情况下的时间复杂度为()

A.O(nl.5)

B.O(nlog2n)

C.无

D.O(log2n)


正确答案:B
堆排序属于选择类的排序方法,最坏情况时间复杂度为0(nlog2n)。故B选项正确。

第2题:

堆排序最坏情况下的时间复杂度为()。

A.O(n1.5)

B.O(nlog2n)

C.O{[n(n-1)]}

D.O(log2n)


正确答案:B

第3题:

二路归并排序的时间复杂度为()。

A、O(n)

B、O(n2)

C、O(nlog2n)

D、O(1og2n)


参考答案:C

第4题:

冒泡排序的时间复杂度为A.O(n) B.O(n2) C.O(log2n) D.O(nlog2n)


正确答案:B
冒泡排序的基本概念是:以升序为例,依次比较相邻的两个数,将小数放在前面,大数放在后面。第一趟排序过程是这样的,首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。这样一次排序后,最后一个数为所有数中的最大数。第二趟排序重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到最大数前的一对相邻数,将小数放前,大数放后,第二趟结束,在倒数第二个数中得到一个新的最大数。如此下去,直至最终完成排序。
冒泡排序的时间复杂度是指执行冒泡排序算法所需要的时间。冒泡排序算法最好的时间复杂度为所要排序的数列为正序,即在执行排列算法之前就已经达到目标的顺序。这样只需要执行一次排序算法,算法所需要进行数据比较的次数为n-1次。冒泡排序算法最差的时间复杂度为当前所要进行排列的数列顺序与目标数列的顺序相反。算法所需要进行数据比较的次数为n(n-1)/2=O(n2)。算法的平均时间复杂度为O(n2)。

第5题:

堆排序最坏情况下的时间复杂度为().

A.O(nl.5)

B.O(nlog2n)

C.

D.O(log2n)


正确答案:B

第6题:

在最坏情况下,堆排序的时间复杂度是()。

A.O(nlog2n)

B.0(log2n)

C.o(n2)

D.o(n1.5)


正确答案:A

第7题:

对n个关键字作快速排序,在最坏情况下,算法的时间复杂度是()。

A.O(n)

B、O(n2)

C、O(nlog2n)

D、O(n3)


参考答案:B
解释:快速排序的平均时间复杂度为O(nlog2n),但在最坏情况下,即关键字基本排好序的情况下,时间复杂度为O(n2)。

第8题:

直接选择排序的时间复杂度为()。(n为元素个数)

A.O(n)

B.O(log2n)

C.O(nlog2n)

D.O(n2)


正确答案:D

第9题:

对于快速排序,元素有序排列时的时间复杂度为(57)。

A.O(log2n)

B.O(n)

C.O(nlog2n)

D.O(n2)


正确答案:D
解析:对于快速排序,元素有序排列是其最坏情况,时间复杂度为O(n2)。当每次划分都可以将待排序列分为均匀的两部分时,进行的排序趟数最少,时间复杂度为O(nlog2n)。

第10题:

在堆排序的过程中,对任意一个分支结点进行筛运算的时间复杂度为Olog2n,正哥堆排序过程的时间复杂度为O(nlog2n)。

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


正确答案:√