稀疏矩阵存储格式

最近在阅读文献的时候,遇到了 CSR、CSC 等稀疏矩阵存储格式,又从网上查了查,在此整理一下。

本博文借鉴了

https://blog.csdn.net/wangjian1204/article/details/52149199


常用的三种存储格式:COO(Coordinate Format),CSR(Compressed Sparse Row),CSC(Compressed Sparse Column)。为了表示存储空间,设非零值个数为 k。

1、COO

使用(行下标,列下标,数值)的三元组来表示非零元素。

存储空间:3*k

2、CSR

CSR 的列下标与 COO 一致,将行下标进行压缩,压缩后的行下标只表示在哪个位置换行即可。

例如,

稀疏矩阵存储格式_第1张图片

则用 CSR 表示为

稀疏矩阵存储格式_第2张图片

其中,row 中第 i 个元素表示在 value[row[i]] 处换行。

存储空间:2*k+n+1,其中 n 为行数。

3、CSC

与 CSR 类似,只不过需要将 value 从按行排序改为按列排序。

还是看上面的例子,用 CSC 表示为

稀疏矩阵存储格式_第3张图片

存储空间:2*k+n+1,其中 n 为列数。

 

你可能感兴趣的:(稀疏矩阵存储格式)