这个稀疏矩阵及其3元组表示没有进入我的脑海...... 要么有点棘手,要么我学习的资源都不是那么好...... 这是URI Sparse Matrix Slide
所以,如果您有任何要分享的内容,请继续。
由于
答案 0 :(得分:1)
您引用的ppt演示非常简单。基本思路是您只想记录非零的数组条目。当然,你跳过一堆0条目,所以你还需要记录行和列索引以及非零值。
他提出了两种方法来做到这一点。一个是一个很长的列表,其中的条目按行排列。然后他研究了几个矩阵运算的表现。
1)转置非常快;只是列表上的一列列表然后基本上排。 2)两个矩阵的加法也很快;你遍历两个矩阵的两个列表,一起恰当地添加值,有点像两个有序列表的合并。请注意,您只遍历每个列表一次。
链接列表选项的这两项操作需要稍长时间。
当在内存中使用完整矩阵时,这些操作需要更长的时间,因为你基本上是连续地进出分页,这比主要在高速缓存中工作要慢得多。
他不测量矩阵乘法的性能或计算逆矩阵。在使用稀疏矩阵的应用程序中通常不需要这些操作。也许你可以把它们想象成一种练习。