正在载入在线练习界面,本页内容可直接阅读…
AK CSP › CSP-S 2022 第一轮真题 › 第4题
CSP-S 2022 第一轮 第4题:考虑对n个数进行排序,以下最坏时间复杂度低于0(n²)的排序方法是()。
题目
考虑对 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号