数据结构-特殊矩阵的压缩存储

特殊矩阵的数据压缩

  1. 对称矩阵
    在这里插入图片描述
    数据结构-特殊矩阵的压缩存储_第1张图片
    对于对称矩阵,我们只需要存放一个上三角或者下三角就可以了,这样我们就可以节省一半的空间
    数据结构-特殊矩阵的压缩存储_第2张图片

那么我们如何用一位数组存放这个压缩矩阵,并且能精确的求得aij的索引呢
先找到前i-1行的元素,用等差数列的求和就可以
然后再+j-1就可以了
数据结构-特殊矩阵的压缩存储_第3张图片

2.三角矩阵
在这里插入图片描述
c表示常数
需要的空间 n*(n+1)/2+1
之所以+1,是因为要存储常量c
数据结构-特殊矩阵的压缩存储_第4张图片
下三角矩阵
数据结构-特殊矩阵的压缩存储_第5张图片
上三角矩阵
数据结构-特殊矩阵的压缩存储_第6张图片

3.三对角矩阵
形式
数据结构-特殊矩阵的压缩存储_第7张图片
求数组下标
在这里插入图片描述
数据结构-特殊矩阵的压缩存储_第8张图片

  1. 稀疏矩阵
    在这里插入图片描述
    形如
    数据结构-特殊矩阵的压缩存储_第9张图片
    对于稀疏矩阵,我们用三元组表示
    虽然这样大量节省了空间,但是也带来了问题就是失去了随机存储的特性
    数据结构-特殊矩阵的压缩存储_第10张图片

你可能感兴趣的:(数据结构)