按字典顺序排序矩阵的复杂性

时间:2015-10-13 09:19:39

标签: sorting complexity-theory asymptotic-complexity lexicographic

给定一个包含m行和n列的矩阵,其中每个条目由一对(a,b)整数组成。矩阵中没有两对出现。

我们现在想订购这些对,这样对于同一行中的两对(a,b)(c,d),我们就知道对(a,b)位于左侧(c,d)当且仅当((a < c) or (a=c and b < d))时,即该对是根据其条目按字典顺序排序的。此外,对于同一列中的两对(a,b)(c,d),当且仅当(a,b)时,(c,d)低于((b < d) or (b=d and a < c)

如果我们找到一个位置,使所有行和列满足上述条件,我们称之为稳定。

通过首先根据行条件对所有对进行排序很容易获得稳定的放置,这需要O(mn log(mn))时间。然后将此列表拆分为m个部分p_1,...,p_m(现在每个部分由n个元素组成,(a,b)中的每个p_i(c,d)中的p_j它{{1} }})。现在,根据列条件对每个部分(a,b) < (c,d) if i < j进行排序,每个部分需要p_i,即所有部分都需要O(n log(n))。将已排序的部分O(mn log(n))写入列p_i可以获得稳定的展示位置。

现在考虑特殊情况im=n。通过上述论证,我们得到了一个稳定的位置可以在时间N=n²中获得,这给出了一个上限。现在这提出了一个问题:

这个问题的下限是多少? O(N log(N))是最优的吗?

0 个答案:

没有答案