牛客专题练习01

牛客专题练习01

解析:B 归并排序的最好、最坏、平均时间都是O(nlogn),但是简单排序有些情况下是O(n).

牛客专题练习01

解析:B 插入排序的基本思想是:每步将一个待排序的纪录,按其关键码值的大小插入前面已经排序的文件中适当位置上,直到全部插入完为止

牛客专题练习01

解析:稳定:如果 a 原本在 b 前面,而 a = b,排序之后 a 仍然在 b 的前面;
         不稳定:如果 a 原本在 b 的前面,而 a = b,排序之后 a 可能会出现在 b 的后面;

牛客专题练习01

解析:稳定排序:冒泡、选择、归并、基数

          不稳定排序:希快选堆

牛客专题练习01

解析:BFS是广度优先遍历,DFS是深度优先遍历。
          对于一些特殊的图,比如只有一个顶点的图,其BFS生成树的树高和DFS生成树的树高相等。
          一般的图,根据图的BFS生成树和DFS树的算法思想,BFS生成树的树高比DFS生成树的树高小

牛客专题练习01

解析:insert sort, quick sort ,merge sort分别是插入、快速、归并排序

          所以最坏时间复杂度分别是:n^2 、n^2、 nlogn

 

各种排序法 最好时间 平均时间 最坏时间 简单选择排序 O(n^2) O(n^2) O(n^2) 直接插入排序 O(n) O(n^2) O(n^2) 冒泡排序 O(n) O(n^2) O(n^2) 希尔排序 O(n)   O(logn) O(n^s) 1<s<2 快速排序 O(nlogn) O(nlogn) O(n^2)  堆排序 O(nlogn) O(nlogn)   O(nlogn)  归并排序 O(nlogn)   O(nlogn)   O(nlogn) 

牛客专题练习01

解析:希尔排序法(缩小增量法) 属于插入类排序,是将整个无序列分割成若干小的子序列分别进行 插入排序 的方法。

牛客专题练习01

解析:基本逆序,相当于最坏情况下,求时间复杂度最优。

此题,指在最坏情况下,求时间复杂度最低

冒泡、改进冒泡、选择、快排,插入排序,均为o(n^2)   堆排序是o(nlogn)    归并排序是o(nlogn)

牛客专题练习01

解析:快排不适合对基本有序的数据集合进行排序

牛客专题练习01

解析:下列哪种排序算法是稳定排序?

bubble sort(冒泡排序)、quick sort(快速排序)heap sort(堆排序)merge sort(归并排序)

Selection sort(选择排序)

不稳定排序:“快选希堆”,原地排序:“快选希堆冒”

                          各种排序的各种时间复杂度

各种排序法 最好时间 平均时间 最坏时间 空间复杂度 稳定性 复杂性
简单选择排序 O(n^2) O(n^2) O(n^2) O(1) 不稳定 不简单
直接插入排序 O(n) O(n^2) O(n^2) O(1) 稳定 简单
冒泡排序 O(n) O(n^2) O(n^2) O(1) 稳定 简单
希尔排序 O(n)   O(logn) O(n^s) 1<s<2 O(1) 不稳定 不简单
快速排序 O(nlogn) O(nlogn) O(n^2)  O(nlog2n)  不稳定 简单
堆排序 O(nlogn) O(nlogn) O(nlogn)  O(1) 不稳定 不简单
归并排序 O(nlogn) O(nlogn) O(nlogn)  O(n) 稳定

不简单