题目
使用快速排序对 $n$ 个元素进行排序时,无论最好、最坏还是平均情况,时间复杂度均为 $O(n \log n)$。( )
答案:B
考点
快速排序时间复杂度分析
解题思维
分析时间复杂度时关注循环层数和每层迭代次数,递归算法则分析递归树。注意最坏/最好/平均情况的区别。
常见错误
分析复杂度时注意外层循环和内层循环的关联。例如内外两层都到n的循环不一定是O(n²),要看内层是否每次都在缩小。
详细解析(节选)
【考点】快速排序|时间复杂度|最坏情况
1. 🎯 考纲定位
GESP 八级"算法与数据结构"模块,考察快速排序的性能边界。命题人卡住的是"背结论不验边界"的通病——考生记住「快排 O(n log n)」这个标称,却忘了这个复杂度只在平均/最好情况下成立。
同考点真题
- 第 28 题· NOIP 2008 普及组初赛试题 · 答案 a[left]a[j]<valuea[j]<=valuevalue>a[j]value>=a[j]a[i]>valuea[i]>=valuea[i]=value;i+1,right,nFindKth(left,i-1,n);看解析 →
- 第 27 题· NOIP 2008 提高组初赛试题 · 答案 a[left];a[j]<valuea[j]<=valuea[i]>valuea[i]>=valuea[i] = value; i + 1,right,n FindKth(left, i – 1, n);看解析 →
- 第 15 题· NOIP 2009 普及组初赛试题 · 答案 D看解析 →
- 第 17 题· NOIP 2009 普及组初赛试题 · 答案 D看解析 →
- 第 8 题· NOIP 2009 提高组初赛试题 · 答案 A看解析 →