正在载入在线练习界面,本页内容可直接阅读…

AK CSP › CSP-S 2022 第一轮真题 › 第4题

CSP-S 2022 第一轮 第4题:考虑对n个数进行排序,以下最坏时间复杂度低于0(n²)的排序方法是()。

单项选择 · 排序算法 · 答案 C

题目

考虑对 n 个数进行排序,以下最坏时间复杂度低于 $O(n^2)$ 的排序方法是(  )。

选项

  • A. 插入排序
  • B. 冒泡排序
  • C. 归并排序
  • D. 快速排序

答案

C

题解

答案是 C. 归并排序。关键在于题目问的是最坏时间复杂度。

排序方法最坏时间复杂度
插入排序$O(n^2)$
冒泡排序$O(n^2)$
归并排序$O(n\log n)$
快速排序$O(n^2)$

归并排序每次把数组分成两半,共有约 $\log n$ 层,每层合并需要 $O(n)$ 时间,因此总时间复杂度是 $O(n\log n)$,低于平方级。

容易误选的是 D:快速排序的平均时间复杂度是 $O(n\log n)$,但如果每次选出的基准都是当前最小值或最大值,划分就会极不均衡,最坏会退化为 $O(n^2)$。

真题版权归 CCF 所有,本站仅用于非商业教学用途。页面加载后可直接在线作答,作答记录保存在本浏览器或账号中。 京ICP备2026056990号-1 京公网安备11010502062986号