稀疏矩阵CSR方法的简单理解

本文详细介绍了稀疏矩阵的压缩存储格式——CSR(Compressed Sparse Row),包括value、columnindices和rowoffsets三个数组的作用。通过实例解析如何找到每一行的非零值,强调了columnindices在确定非零值顺序中的关键作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

上图为 稀疏矩阵的CSR表示方法,
value 是原矩阵中的非0值。
column indices 是 value 值对应的列 。
row offsets 是指 原矩阵中每一行的第一个非0值 现在所在value中的偏移值,也可理解为value数组中的位置。
如: 从 # row +1 数组看,第 0 行 的第一个非零值在value中的位置为第 0 个 该值为 1 , 它对应的列是 第 0 列 。
#row+1 中 第 1 行的第一个非零值是value中的位置2 该值为2, 对应列为 第1列。
#row+1 中 第 2 行 的第一个非零值是 value中的位置 4 该值为 5 ,对应列为 第0列。

#row+1 中的最后一个值为 9, 指的是value值一共有 9 个。

现在每一行的第一个非零值都找到了 ,那么每一行的第二个 第三个 …非零值也就很好找了。
我们只需要看后两个数组。
因为 value里的 1 和 2 是第 0、第 1 行的第一个非零值 ,那么夹在中间的 7 肯定就是 第 0 行的第二个非零值了 ,对应的列从column indices看出为 第 1 列。 其余同理
如果 两者之间有多个非零值,如 5 和 6 中间有 3 和 9 ,其确切的位置顺序也同样由column indices来决定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值