压缩矩阵行或列来存储矩阵的格式是很普遍的,它们不会存储不必要的元素(即空值)。但是它们也不是非常有效的,当在一个矩阵-向量积或预解决的每个简单标量中需要间接寻址。行压缩存储方式会把一个稀疏矩阵行的非零数值放在连续的存储空间。

假设我们有一个非对称的稀疏矩阵A

我们先定义3个向量:

一个浮点类型:val

两个整型:col_ind , row_ptr

val向量用于存储矩阵A的非零元素值,从第一行开始遍历。col_ind 向量用于存储 val 向量中值对应的列索引(这里下标从0开始)。如下图:

也就是说,如果 val (k) = Ai,j 那么 col_ind = j

向量 row_ptr 用于存储每行中第一非零元素的在 col_ind 中的位置,如:第一行中的一个非零元素为10在 col_ind 向量中的位置为1,第二行中的第一个非零元素3在  col_ind 向量中的位置为3,这样以此类推,可得到如下向量:

如果 val (k) =Ai,j 那么有 row_ptr(i)<= k < row_ptr(i+1)

如果我们的稀疏矩阵是对称的,那么我们只需要存储上三角(或下三角)即可。

稀疏(sparsity)矩阵的行压缩存储相关推荐

  1. 矩阵-----对称矩阵及其压缩存储稀疏矩阵

    什么是对称矩阵(SymmetricMatrix)? 对称对称-------看 设一个N*N的方阵A,A中任意元素Aij,当且仅当Aij == Aji(0 <= i <= N-1 & ...

  2. 数据结构-特殊矩阵【对称矩阵、上三角下三角矩阵、三对角矩阵】的压缩存储代码实现

    #include <iostream> using namespace std;typedef int ElemType;void SymmetricMatrixStore(int n, ...

  3. 特殊矩阵的压缩存储(详细版 通俗易懂 含c语言稀疏矩阵十字链表代码 )

    前言 此文章是本人第一篇博客,目的在于巩固过去所学的知识,同时可能会给大家带来一丝丝帮助,但由于没有经验加上本人能力极其有限,文章中可能存在不足之处,还请读者能够指正(`・ω・´). 这篇文章首先会介 ...

  4. c语言对称矩阵的压缩存储_【数据结构】对称矩阵及对称矩阵的压缩存储

    对称矩阵: 设一个N*N的方阵A,A中任意元素Aij,当且仅当Aij == Aji(0 <= i <= N-1 && 0 <= j <= N-1),则矩阵A是对 ...

  5. 矩阵压缩存储(对称,三角,对角,稀疏)

    1.对称矩阵 (1)下三角矩阵 利用一维数组进行储存(下面的图片参考懒猫老师<数据结构>相关课程的笔记~) 每个元素在一维数组中的存储序号=阴影部分的面积 第i行第j列的元素序号=1+2+ ...

  6. c++矩阵转置_C语言:数据结构-稀疏矩阵的压缩存储

    (1)稀疏矩阵的特点 在一个m×n的矩阵中,设矩阵中有i个元素不为零,并令△=i/(m×n),称△为稀疏因子.通常当△≤0.05时.认为该矩阵为稀疏矩阵. 对这类矩阵实现压缩存储的基本思路是只需要存储 ...

  7. pytorch统计矩阵非0的个数_矩阵的三种存储方式---三元组法 行逻辑链接法 十字链表法...

    在介绍矩阵的压缩存储前,我们需要明确一个概念:对于特殊矩阵,比如对称矩阵,稀疏矩阵,上(下)三角矩阵,在数据结构中相同的数据元素只存储一个. @[TOC] 三元组顺序表 稀疏矩阵由于其自身的稀疏特性, ...

  8. 5.3矩阵的压缩存储(稀疏矩阵转置和快速转置)

    在矩阵中有许多值相同的元素或者是零元素.有时为了节省存储空间,可以对这类矩阵进行压缩存储.所谓的压缩存储是指:为多个值相同的元值分配一个存储空间:对零元不分配空间. 5.32稀疏矩阵 在m*n的矩阵中 ...

  9. 矩阵的压缩存储(随机稀疏矩阵的建立和输出)

    实际应用中会有很多利用高阶矩阵的问题,有的高阶矩阵已达到几十万阶,几千亿个元素.然而,多数的高阶矩阵中包含了大量的数值为零的元素,需要对这类矩阵进行压缩存储.因为合理的压缩存储不仅能有效地节省存储空间 ...

最新文章

  1. 使用 Xbrowser4远程连接到 CentOS 7
  2. 高斯模糊与高反差保留
  3. bootstrap--响应式框架页面环境配置
  4. linux 写脚本登录ftp,Linux使用Shell脚本实现ftp的自动上传下载-Go语言中文社区
  5. python中使用函数的优点,对于python类使用“get函数”有什么好处?
  6. flac格式转换mp3格式_MP3,FLAC和其他音频格式之间有什么区别?
  7. Linux IO - 同步,异步,阻塞,非阻塞
  8. html循环查询的数据,SQL查询遍历数据方法一 [ 临时表 + While循环]
  9. 计算机用户被锁定如何解除,win10账户被锁定了怎么解除
  10. 基础知识(十二)Opengl回顾记录
  11. 手机学python语言用什么软件好_盘点几个在手机上可以用来学习编程的软件
  12. php判断访问的当前设备是手机还是电脑
  13. Counting 4-Cliques
  14. 黑客攻击「宝贝回家寻子网」致数据丢失:丧尽天良
  15. 金阳光测试算法专题——精选小算法汇总
  16. 人社部《劳动合同》通用范本模板
  17. 详解KVM虚拟化原理
  18. python中diet是什么意思_Python基础语法(你不得不知的几种变量类型
  19. 我收集的CS地图mod制作网址
  20. 【蓝桥杯省赛真题2】Scratch射击螃蟹 少儿编程scratch蓝桥杯选拔赛真题讲解

热门文章

  1. JavaScript奇淫技巧:收缩控制流
  2. 弘辽科技:拼多多团购价怎么设置?如何提高成团率?
  3. 显卡低对整个计算机的影响,显卡的大小对电脑的影响
  4. 淘宝客投放百家号百+推广效果怎么样?
  5. springboot配置跨域过滤器
  6. 广州佰新视觉:UI设计收入大概多少?
  7. 【前端vue】 复制 选中 文本如何不触发点击事件
  8. 【c/c++问题总结】error C2039、 C2001、 C2146、C2297、 C2601、C2065、 C2660、 C2440
  9. x86 CPU中逻辑地址到物理地址映射过程
  10. apriori算法python实现