
用快速排序法对包含n个关键字的序列进行排序,最坏情况下的执行时间为( )。 A. O(nlog2n) B. O(n2) C. O(log2n) D. O(n)
快速排序的最坏时间复杂度取决于基准元素(pivot)的选择策略。当每次选择的基准恰好是当前子数组中的最大或最小元素时,数组会被划分为长度为 和 0 的两部分,导致递归深度达到 层。此时,时间复杂度由等差数列求和 决定,渐近复杂度为 。
答案:B.
这一结果提示我们,实际应用中需通过随机化基准选择(如随机快排)或三数取中法等策略,避免输入数据的有序性(正序或逆序)触发最坏情况,从而将期望时间复杂度稳定在 \(O(n \log n)\)。