14 快速排序
双指针分区、枢轴、退化与短侧优先
本节 12 题。先独立给出结论和理由,再对照解析;新增题与此前题目统一编号。涉及标签时,标签只表示记录身份。
第 01 题
问题 1
快速排序重要工作在递归前还是递归后?
第 02 题
问题 2
有重复键时划分两侧应理解为严格小于、大于吗?
第 03 题
问题 3
闭区间递归的正确终止条件是什么?
第 04 题
问题 4
为什么递归区间必须排除枢轴位置 p?
第 05 题
问题 5
三数取中对 [15,21,8] 应选择哪个值?
第 06 题
问题 6
末尾枢轴处理升序输入为什么容易退化?
第 07 题
问题 7
三数取中是否保证任何输入都 O(n log n)?
第 08 题
问题 8
双指针遇到两个都等于 pivot 的项时,交换后为何要移动指针?
第 09 题
问题 9
Python a[-1] 合法,是否可以省略左边界检查?
第 10 题
问题 10
怎样把迭代快排的待处理栈控制在对数级?
第 11 题
问题 11
本教材原地快排是稳定排序吗?
第 12 题
问题 12
cutoff=8 的意义是什么?能当作通用最优值吗?