如果需要支持的运算多样化,稀疏矩阵都有哪些存储和访问方法

如果内存够大, CSR, CSC 都存下来比较快. CSR 与 CSC, 差一个转置. csr 的 Ax 比较快, 对应 csc 的 x\u0026#39;A = (A\u0026#39;x)\u0026#39;. 经验上, 不同存储方法 MV 运算相差三倍左右.内存不够大或分布时, CSR 按行分布, CSC 按列分布比较方便. CSR 的列链结, 在行列比较大时, 指针和偏移都需要为 int64, sizeof(float) = 4, sizeof(double) = 8, 链结比起存两份, 节省的不多. 而存两份可以按最好的访问方式访问, 速度快, 编程上更是简单.
■网友
一般使用CSR,但是具体使用怎么的存储方式需要看你具体的算法。有些算法会对存储方式很敏感,实践可能才能出真知。既然节省了内存,必然有得有失。另外就是如果对速度十分的敏感的话,建议不要用链表(我觉得也没有什么特别的必要)??


    推荐阅读