您有n个元素的数组。假设您始终通过选择数组的中心元素作为枢轴来实现快速排序。那么最坏情况下的最严格的上限是
(A) O(n 2 )
(B) O(nLogn)
(C) Theta(nLogn)
(D) O(n 3 )答案: (A)
说明:对于任何输入,都有一些排列,最坏的情况是O(n 2 ) 。在某些情况下,选择中间元素会使遇到O(n 2 )的机会降到最低,但在最坏的情况下,它可能会变为O(n 2 )。无论我们将哪个元素用作数据透视,无论是第一个元素还是中间元素,最坏的情况都是O(n 2 ),因为数据透视固定在位置上。在选择随机枢轴时,将遇到最坏情况(即O(n 2 ))的机会降到最低。
请参阅“快速排序”上的这篇文章。
这个问题的测验