稀疏矩阵存储格式总结

本文详细介绍了五种稀疏矩阵存储格式:Coordinate (COO), Compressed Sparse Row (CSR), ELLPACK (ELL), Diagonal (DIA), 和 Hybrid (HYB)。每种格式的特点和适用场景被阐述,其中DIA和ELL适用于矩阵-向量乘积,而CSR在存储效率和灵活性之间取得平衡。COO常用于文件读写,HYB则是ELL和COO的结合,提高了存储效率。" 138544741,8467242,Arduino智慧交通:违规停车监测系统(基于红外线传感器),"['嵌入式硬件', '单片机', 'Arduino智慧交通', '基于红外线传感器的违规停车监测']
摘要由CSDN通过智能技术生成

稀疏矩阵是指矩阵中的元素大部分是0的矩阵,事实上,实际问题中大规模矩阵基本上都是稀疏矩阵,很多稀疏度在90%甚至99%以上。因此我们需要有高效的稀疏矩阵存储格式。本文总结几种典型的格式:COO,CSR,DIA,ELL,HYB。

Coordinate(COO)

Coordinate(COO) 
这是最简单的一种格式,每一个元素需要用一个三元组来表示,分别是(行号,列号,数值),对应上图右边的一列。这种方式简单,但是记录单信息多(行列),每个三元组自己可以定位,因此空间不是最优。


Compressed Sparse Row (CSR)

Compressed Sparse Row (CSR) 
CSR是比较标准的一种,也需要三类数据来表达:数值,列号,以及行偏移。CSR不是三元组,而是整体的编码方式。数值和列号与COO一致,表示一个元素以及其列号,行偏移表示某一行的第一个元素在values里面的起始偏移位置。如上图中,第一行元素1是0偏移,第二行元素2是2偏移,第三行元素5是4偏移,第4行元素6是7偏移。在行偏移的最后补上矩阵总的元素个数,本例中是9。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值