找到配对订单的有效方法?

时间:2011-01-19 17:51:30

标签: algorithm math sorting statistics theory

假设我有三个等长a的数组bcN。每个数组的元素来自totally ordered set,但未排序。我还有两个索引变量ij。对于所有i != j,我想计算索引对的数量,例如a[i] < a[j]b[i] > b[j]c[i] < c[j]。有没有办法可以在低于O(N ^ 2)的时间复杂度下完成,例如通过创造性地使用排序算法?

注意:这个问题的灵感来自于,如果您只有两个数组ab,则可以找到a[i] < a[j]和{{}的索引对数1}} in O(N log N) with a merge sort。我基本上正在寻找三个数组的推广。

为简单起见,您可以假设任何数组中没有两个元素相等(无关系)。

1 个答案:

答案 0 :(得分:6)