sorting - 如何找到矩阵排序的下界?

标签 sorting matrix asymptotic-complexity lower-bound

考虑对 n x n 排序的问题矩阵(即行和列按升序排列)。我想找到这个问题的下限和上限。

我发现它是O(n^2 log n)只需对元素进行排序,然后输出第一个 n元素作为第一行,下一个 n元素作为第二行,依此类推。
但是我想证明它也是Omega(n^2 log n) .

在尝试了较小的例子之后,我想我应该证明如果我可以使用小于 n^2 log(n/e) 来解决这个问题。比较,它会违反 log(m!)排序所需的比较下限 m元素。

关于如何证明这一点的任何想法?

最佳答案

看看 http://en.wikipedia.org/wiki/Sorting_algorithm#Comparison_of_algorithms .

您的问题听起来像是对 n² 元素而不是 n 进行排序,因此 'O(n² log n²)' 可能对合并排序有效。

如果第一行中的前 n 个元素不必自己排序,它可能会更快,但不是必需的,这取决于算法。

最后但并非最不重要的一点是,尝试一些例子并不能证明某些事情,尤其是那些统计数据不起作用的小例子(它们甚至没有表明什么)

关于sorting - 如何找到矩阵排序的下界?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14777653/

相关文章:

algorithm - 将字符串映射到保持字典顺序的数字

vba - 无法使用 Range.Sort 对 XLS 数据进行排序

asymptotic-complexity - 大 O 表示法,找到最小的

r - 如何用R提取包含大量0值的列?

c++ - 如何在 C++ 中递归地填充矩阵?

big-o - 如何比较指数复杂度?

arrays - Go 中的 slice 元素访问复杂度是多少?

c++ - 如何在特定位置使用 switch 或 if-else 步骤将十六进制值分配给数组?

javascript - 如何在排序比较过程中忽略值中的 "-"和 "."字符?

c++ - 接口(interface)方法的实现