校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > 数据结构 > 直接插入排序
题目

最坏情况下 insert sort, quick sort ,merge sort 的复杂度分别是多少?

A.O(n*n),O(nlogn),O(n*n)

B.O(n*n),O(n*n),O(nlogn)

C.O(n*n),O(nlogn),O(nlogn)

D.O(nlogn),O(nlogn),O(nlogn)

解答

正确答案是 B

1:简单选择  最好时间 O(n^2)      平均时间O(n^2)      最坏时间 O(n^2)
2:直接插入  最好时间 O(n)         平均时间O(n^2)      最坏时间 O(n^2)
3:冒泡排序  最好时间 O(n)         平均时间O(n^2)      最坏时间 O(n^2)
4:希尔排序  最好时间 O(n)         平均时间O(logn)     最坏时间 O(n^s) 1<s<2
5:快速排序  最好时间 O(nlogn)  平均时间O(nlogn)   最坏时间O(n^2) 
6:堆排序      最好时间 O(nlogn)  平均时间O(nlogn)   最坏时间O(nlogn) 
7:归并排序  最好时间 O(nlogn)  平均时间O(nlogn)   最坏时间O(nlogn) 
C 3条回复 评论
大葫芦

快排在有序时会变成最慢的

发表于 2018-10-13 11:01:04
0 0
皮皮鲁

快排最坏会退化为冒泡,冒泡最好,最差,平均都是n^2。

发表于 2018-10-13 11:00:46
0 0
花花

插入排序在逆序的时候最差为O(n^2);
快速排序在有序的时候最差为O(n^2);
归并排序最好最坏的时候都一样为O(nlogn)

发表于 2018-10-13 11:00:32
0 0