给定一个排序数组,我们可以构建一个O(n ^ 2)中所有对的总和的排序数组吗?

时间:2013-07-18 20:39:38

标签: algorithm sorting

给定一个排序的整数数组,我们可以在O(n ^ 2)中构建所有对的总和的排序数组吗?

一个简单的解决方案是在O(n ^ 2)中构建和数组,然后在O(n ^ 2(log(n ^ 2))= O(n ^ 2 logn)时间内对其进行排序。

另一个解决方案是在O(n ^ 2)中构建n个排序的n个数组 - 在O(n ^ 2 logn)时间内合并它们(例如,参见here)。

我们可以做得更好吗?

1 个答案:

答案 0 :(得分:8)

这是一个在文献中称为Sorting X + Y的开放性问题。已知的最佳结果是由于LambertSteiger--Streinu而使用O(n ^ 2)比较的O(n ^ 2 log n)时间算法。