使用快速排序(nlogn)作为内部排序的2阶段多向外部排序的复杂性是什么。
答案 0 :(得分:0)
此处不是专家,但......
如果我理解正确,你所描述的阶段是你的算法对输入的传递的数量,对吗?在这种情况下,运行时间近似值是通过次数(在您的情况下为2)*读取和写入整个输入到外部设备所需的时间。
在评估此类算法的复杂性时,很难将其置于通常的运行时间条件下。有许多方面可能影响结果(顺序/非顺序访问,技术等)。通常的方法是提供通过方面的复杂性,其中包括使用的设备数量,输入中的项目数量以及可以适合内存的项目数量。
关键是排序算法由IO操作支配。内部快速排序应该没问题(尽管它的二次最坏情况)。
另外,我不确定你是否计算了初始分布。这也是一个通行证。