用归并排序方法,在最坏情况下的时间复杂度为()。A.O(n+1)B.O(n2)C.O(log2n)D.O(nlog2n)

题目

用归并排序方法,在最坏情况下的时间复杂度为( )。

A.O(n+1)

B.O(n2)

C.O(log2n)

D.O(nlog2n)

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

堆排序平均执行的时间复杂度()

A.O(n)

B.O(nlog2n)

C.O(log2n)

D.O(n2)


O(nlog 2 n)

第2题:

对n个元素进行快速排序时,最坏情况下的时间复杂度为______。

A.O(log2n)

B.O(n)

C.O(nlog2n)

D.O(n2)


正确答案:D
解析:最坏情况发生在每次划分过程产生的两个区间分别包含n-1个元素和1个元素的时候。其时间复杂度为0(n2)。

第3题:

对n个元素进行堆排序时,最坏情况下的时间复杂度为(53)。

A.O(log2n)

B.O(n)

C.O(nlog2n)

D.O(n2)


正确答案:C
解析:堆排序性能比较稳定,即使在最坏情况下的时间复杂度也是O(nlog2n)。

第4题:

用堆排序方法,在最坏情况下的时间复杂度为( )。

A.O(n+1)

B.O(n2)

C.O(log2n)

D.O(n log2n)


正确答案:D

第5题:

冒泡排序的时间复杂度为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)。

第6题:

对n个元素进行快速排序时,最坏情况下的时间复杂度为(55)。

A.O(log2n)

B.O(n)

C.O(nlog2n)

D.O(n2)


正确答案:D
解析:快速排序在最坏情况下的时间复杂度退化到一般的交换排序,即为O(n2)。

第7题:

用快速排序的方法对包含n个关键字的序列进行排序,最坏情况下执行的时间为

A.O(n)

B.O(log2n)

C.O(nlog2n)

D.O(n2)


正确答案:D
解析:快速排序的平均执行时间为O(nlog2n),优于冒泡排序,直接插入排序方法,但最坏的情况,即记录初始已排好序的情况下,执行时间为O(n2)。

第8题:

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

A.O(n1.5)

B.O(nlog2n)

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

D.O(log2n)


正确答案:B

第9题:

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

A.O(nlog2n)

B.0(log2n)

C.o(n2)

D.o(n1.5)


正确答案:A