什么是双重排序

时间:2013-01-29 04:05:39

标签: algorithm list sorting

有人可以请准确解释双排序算法是什么以及它是如何工作的?我在网上搜索过但无法找到任何信息。我有一个家庭作业,我想解释它是什么,并编写一个程序,使用双重排序对列表进行排序。

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

双枢轴快速排序具有2个枢轴的想法,并且非常类似于常规快速排序。有一些选择枢轴的变体put让我们假设一个随机选择,而算法将是类似下面的东西(我不会给出明确的代码,因为它毕竟仍然是作业)。关键的想法是选择随机枢轴p1和p2。假设p1< = p2否则交换它们的值。现在将数组分为三个部分。第一个将小于p1,第二个是p1和p2之间或之等的元素,第三个是大于p2的元素。而不是每个部分的递归。

渐近地,正如您可能猜测的那样,知道某种O(n lg n)是最优的,该算法在快速排序的同时运行。