外部合并排序的复杂性

时间:2011-02-20 10:40:29

标签: c++ sorting time-complexity

使用快速排序(nlogn)作为内部排序的2阶段多向外部排序的复杂性是什么。

1 个答案:

答案 0 :(得分:0)

此处不是专家,但......

如果我理解正确,你所描述的阶段是你的算法对输入的传递的数量,对吗?在这种情况下,运行时间近似值是通过次数(在您的情况下为2)*读取和写入整个输入到外部设备所需的时间。

在评估此类算法的复杂性时,很难将其置于通常的运行时间条件下。有许多方面可能影响结果(顺序/非顺序访问,技术等)。通常的方法是提供通过方面的复杂性,其中包括使用的设备数量,输入中的项目数量以及可以适合内存的项目数量。

关键是排序算法由IO操作支配。内部快速排序应该没问题(尽管它的二次最坏情况)。

另外,我不确定你是否计算了初始分布。这也是一个通行证。

相关问题