题目
在快速排序中,选择的主元素(pivot)会影响算法的( )。
答案:B
考点
快速排序
解题思维
分析时间复杂度时关注循环层数和每层迭代次数,递归算法则分析递归树。注意最坏/最好/平均情况的区别。
常见错误
分析复杂度时注意外层循环和内层循环的关联。例如内外两层都到n的循环不一定是O(n²),要看内层是否每次都在缩小。
详细解析(节选)
【考点】快速排序|主元选择|时间复杂度|递归深度
🎯 考纲定位
本题考查《GESP 五级》C++ 模块“排序算法”中“快速排序”的核心考点。命题人特意设置“主元选择影响什么”的干扰项,就是卡住考生对“最坏情况下的时间复杂度退化”这一点的模糊认知——很多学生知道快速排序平均 O(nlogn),但误以为空间复杂度也固定不变,或者认为主元选择对空间复杂度无影响。
同考点真题
- 第 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看解析 →