组词大全

用快速排序法对包含n个关键字的序列进行排序,最坏情况下的执行时间为( )。 A. O(nlog2n) B. O(n2) C. O(log2n) D. O(n)

用快速排序法对包含n个关键字的序列进行排序,最坏情况下的执行时间为( )。 A. O(nlog2n) B. O(n2) C. O(log2n) D. O(n)

快速排序的最坏时间复杂度取决于基准元素(pivot)的选择策略。当每次选择的基准恰好是当前子数组中的最大或最小元素时,数组会被划分为长度为 n1 和 0 的两部分,导致递归深度达到 n 层。此时,时间复杂度由等差数列求和 n+(n1)+(n2)+...+1=n(n+1)2 决定,渐近复杂度为 O(n2)

答案:B. O(n2)

这一结果提示我们,实际应用中需通过随机化基准选择(如随机快排)或三数取中法等策略,避免输入数据的有序性(正序或逆序)触发最坏情况,从而将期望时间复杂度稳定在 \(O(n \log n)\)

相关成语


成语首拼