选择随机元素或中间元素可最大程度降低发生最坏情况的机会。但是给定一个随机输入数组,我们选择随机或中间元素仍然有可能导致最坏情况。有什么办法,我们可以根据提供的输入来决定使用哪个枢轴元素?而不是考虑最坏情况的最小机会
枢轴元素主要通过三种方式选择:
以上三个保证在O(1)时间中选择随机元素。需要确保选择枢轴元素的算法为O(1),否则快速排序的总体时间复杂度将变为O(n^2)。
O(1)
O(n^2)