知晓地点的Mergesort

时间:2014-10-06 03:00:22

标签: performance algorithm sorting

A成为具有要排序的总订单的数组。我们说A具有位置d iff每个元素最多距离其排序数组中的最终索引d索引。在locality-aware mergesort中,我们只需考虑左子阵列中最中间的2d元素和最左边的d元素,而不是完全合并这两个子数组。正确的子阵列),因为其他元素必须处于最终位置。问题是如何证明局部感知mergesort的渐近时间性能是d

其他排序算法有局部感知版本;本地感知mergesort的性能是我唯一不理解的。

1 个答案:

答案 0 :(得分:1)

嗯,这是有道理的。如果你考虑一下:merge sort是O(nlog n),对于每个元素(n个元素),它最多需要log n次迭代才能使它在数组中的位置(项目可以“旅行的最大距离) “是n)。对于你的例子,它只是log d,因为物品可以行进的距离是d。至少这就是我的看法。