【发布时间】:2012-04-25 13:15:10
【问题描述】:
我正在寻找允许有效行和列交换的稀疏矩阵表示。经典表示(通过压缩行、压缩列或三元组)似乎只允许执行其中一个,但从不允许执行。 任何人都知道一个好的数据结构吗?
--编辑-- 为了澄清,我希望能够交换行,如交换第 5 行和第 7 行,以及交换列,如交换第 6 列和第 8 列。
【问题讨论】:
-
“经典表示”是什么意思?我知道存储稀疏矩阵的六种方法,每种方法都适合某些操作,每种方法都不适合某些操作。
-
“高效行列交换”是什么意思?例如,您想将第 1 行与第 3 列交换吗?还是要转置整个矩阵?
-
@HighPerformanceMark:我理解它能够有效地将第 1 行与第 5 行交换,并将第 4 列与第 9 列有效交换,但不能混合行和列...猜猜这意味着问题是真的很难得到:x
-
我对问题进行了一些澄清,我想在行之间和列之间交换,而不是混合展位
-
也许有人可以找到一个反例,但是那些最适合列交换的表示通常不适合行交换,反之亦然。
标签: c++ data-structures matrix sparse-matrix