牛客专题练习01

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

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

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

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

          不稳定排序:希快选堆

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

解析: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) 

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

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

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

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

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

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

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<2O(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)稳定

不简单

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值