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

1. 对称矩阵的压缩存储

定义:若n阶矩阵A满足a(ij) = a(ji)(1≤i,j≤n),则称A为n阶对称矩阵。
压缩存储方法:由于对称矩阵上三角和下三角的元素相同(主对角线上的元素只存储一次),因此可以只存储上三角(或下三角)的元素和主对角线上的元素。
存储方式:通常使用一维数组来存储这些元素。若采用下三角存储,元素a(i,j)在一维数组中的位置k可以通过公式k = i*(i-1)/2 + j - 1计算得出(假设数组下标从0开始)。

2. 三角矩阵的压缩存储

定义:
上三角矩阵:下三角(不含对角线)的元素均为常数或零的矩阵。
下三角矩阵:上三角(不含对角线)的元素均为常数或零的矩阵。
压缩存储方法:对于上三角矩阵,只需存储主对角线及其以上的元素以及下三角的常数项(如果常数项不为零)。下三角矩阵的存储方法类似,只是存储的内容变为主对角线及其以下的元素和上三角的常数项。
存储方式:同样使用一维数组进行存储,上三角矩阵的存储可以看作是对称矩阵以列为主的压缩存储。

3. 对角矩阵的压缩存储

定义:所有非零元素集中在主对角线两侧的带状区域内的矩阵称为对角矩阵。特别地,如果非零元素仅位于主对角线上,则称为三对角矩阵。
压缩存储方法:只存储非零元素及其位置信息(行号和列号)。对于三对角矩阵,由于其非零元素仅分布在主对角线及其上、下两条对角线上,因此可以直接按行或列的顺序存储这些元素。
存储方式:使用一维数组存储非零元素,并使用额外的数据结构(如三元组表)来记录非零元素的行号、列号和值。

4. 稀疏矩阵的压缩存储

定义:矩阵中非零元素的个数远小于矩阵元素的总数(通常定义为非零元素的比例小于某个阈值,如0.05)时,称该矩阵为稀疏矩阵。
压缩存储方法:只存储非零元素及其位置信息(行号和列号),不存储零元素。
存储方式:常见的稀疏矩阵存储方式有三元组表、行逻辑链接的顺序表和十字链表等。其中,三元组表是最简单也是最常用的存储方式,它包含非零元素的行号、列号和值。

  • 12
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DKPT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值