稀疏矩阵(Python实现)

目录

什么是稀疏矩阵

稀疏矩阵的存储

示例题目

题目描述

输入/输出描述

代码

代码走读

传送门

测试用例

1. 数据正常且合乎要求:

2. 输入的行数或列数不大于0

3. 输入的行数或列数不是有效数字

4. 输入的元素不是有效数字

5. 稀疏数字占比低于稀疏比率


什么是稀疏矩阵

简单的说,如果一个矩阵中大部分元素为0,就被称为稀疏矩阵。

对于稀疏矩阵而言,实际存储的数据项很少。如果在计算机中采用传统的二维数组(在Python中使用二维列表)来存储稀疏矩阵,就会浪费大量的内存空间来存储0。比如一个10000 X 10000的稀疏矩阵,只有一个元素非0,若采用传统的存储技术,将浪费太多的内存来存储无意义的0。

稀疏矩阵的存储

对于稀疏矩阵,我们只需要记住矩阵中非0元素的位置和值、以及系数矩阵的大小(行数和列数)这些有用信息即可。也就是说,我们可以用一个包含3列的二维数组存储稀疏矩阵中的非0项,记录非0项的所在行、所在列和值信息以及记录稀疏矩阵行数和列数信息。

例如对于下面的3X3稀疏矩阵:

  • 7
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值