当前位置:
首页 >
CSR稀疏矩阵存储方式
发布时间:2023/11/27
52
豆豆
生活随笔
收集整理的这篇文章主要介绍了
CSR稀疏矩阵存储方式
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
矩阵可分为稠密矩阵和稀疏矩阵,对于稀疏矩阵而言,使用同样的内存来存储这个矩阵显然是对内存的浪费,那么我们就可以想办法将矩阵中所有的o元素挥着不相关元素剔除,怎么剔除,第一种方法是通过三个一维矩阵来存储原二维矩阵中的所有非0元素,三个矩阵分别为value、column、row, value 数组存储所有的非零元素, column 数组存储所有非零元素的列下标 row 数组存储所有的非零元素的行下标 看例子 [1,0,0,2] [0,0,3,4] [4,5,6,0] [6,0,3,0] 压缩存储后 value = [1,2,3,4,4,5,6,6,3] cloumn=[0,3,2,3,0,1,2,0,2] row = [0,0,1,1,2,2,2,3,3,] 可以看到压缩存储的样子,但是,我们通过row行可以看到,很多重复的数值,也就是每一行的多个元素,每个元素都对应着同样的行号,这样也浪费的空间,因此,我们引入csr稀疏矩阵存储方式,该存储方式将重复的行号压缩,只记录,开头和结尾元素的位置,具体的做法如下图:
总结
以上是生活随笔为你收集整理的CSR稀疏矩阵存储方式的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: C 多线程编程之在类中使用多线程(t
- 下一篇: c++静态成员函数好处