【发布时间】:2017-06-18 23:21:56
【问题描述】:
我有 nxn 个二进制矩阵(即元素为 0 或 1 的矩阵)。使用二维数组(即存储每个元素的值)空间复杂度为O(n^2)。
有没有办法以空间复杂度为 O(n) 的方式存储它们?欢迎所有运算,如加法、减法等。
矩阵不是稀疏的,所以使用非零元素列表是没有问题的。
【问题讨论】:
-
问题是如何在 O(n) 空间中存储 n^2 位?一般情况下是不可能的。
-
如果矩阵是对称的,那么它可以有点完成。除此之外,唯一的途径是无法保证目标大小的压缩算法。
-
那么我的“没有办法做到这一点”的答案是什么?它是经过数学证明、直观证明、常识,还是只是没有人想出办法做到这一点?
-
@LukeBriggs 对称矩阵有什么不同?。
-
@MuhammadNizami "数学证明,直觉证明,常识" 是的,三个都行:)。
标签: algorithm matrix data-structures