4-4-3 特殊矩阵的压缩存储

矩阵:一个由m*n个元素排成的m行n列的表

矩阵的常规存储:将矩阵描述为一个二维数组

矩阵的常规存储特点:

  1. 可以对其元素进行随机存取
  2. 矩阵运算非常简单
  3. 存储的密度为1

不适宜常规存储的矩阵:值相同的元素很多且呈某种规律分布,零元素多

矩阵的压缩存储:为多个相同的非零元素只分配一个存储空间,对零元素不分配空间

什么样的矩阵能够压缩?

一些特殊的矩阵,如:对称矩阵、对角矩阵、三角矩阵、稀疏矩阵等

什么是稀疏矩阵?

矩阵中非零元素的个数少(一般小于5%)

对称矩阵

特点:在n*n的矩阵a中,满足如下性质:$a_{ij}=a_{ji}(1<=i, j<=n)$

存储方法:只存储下(或者上)三角,包括主对角线的数据元素,共占用$n\times(n+1)/2$个空间

对称矩阵的存储结构:

对称矩阵上三角中元素个数为$n\times(n+1)/2$

可以以行序为主序存储下三角