您将如何决定在快速排序中将哪个元素用作数据透视?

问题描述 投票:0回答:1

选择随机元素或中间元素可最大程度降低发生最坏情况的机会。但是给定一个随机输入数组,我们选择随机或中间元素仍然有可能导致最坏情况。有什么办法,我们可以根据提供的输入来决定使用哪个枢轴元素?而不是考虑最坏情况的最小机会

sorting time-complexity quicksort
1个回答
0
投票

枢轴元素主要通过三种方式选择:

  1. 中间元素
  2. 随机元素
  3. 最后一个元素

以上三个保证在O(1)时间中选择随机元素。需要确保选择枢轴元素的算法为O(1),否则快速排序的总体时间复杂度将变为O(n^2)

© www.soinside.com 2019 - 2024. All rights reserved.