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

本文介绍了矩阵的压缩存储方法,特别是针对稀疏矩阵的处理。稀疏矩阵是指非零元素较少的矩阵,常见于对称、对角、三角矩阵等。压缩存储通过减少存储空间,仅存储非零和独特元素,例如对角矩阵和三角矩阵的存储优化。此外,还讨论了三元组顺序表和十字链表这两种稀疏矩阵的链式存储结构,它们在存储和访问效率上的优缺点。
摘要由CSDN通过智能技术生成

不适宜常规存储的矩阵:值相同的元素很多且呈某种规律分布;零元素多。
矩阵的压缩存储:为多个相同的非零元素只分配一个存储空间;对零元素不分配空间。
什么样的矩阵能够压缩:一些特殊矩阵,如:对称矩阵,对角矩阵,三角矩阵,稀疏矩阵等。
稀疏矩阵:矩阵中非零元素较少(一般小于5%)。
对阵矩阵:
在这里插入图片描述
在n×n的矩阵a中,满足如下性质:aij=aji(1<=i,j<=n)
只存储下(或者上)三角(包括组对角线)的数据元素。共占用n×(n+1)/2个元素空间。
可以以行为主序将元素存放在一个一维数组sa[n×(n+1)/2]中。
三角矩阵:
特点:对角线以下(或者以上)的数据元素(不包括对角线)全部为常数c
存储方法:重复元素c共享一个元素存储空间,共占用n*(n+1)/2+1个元素空间
上三角矩阵
k=
(i-1)*(2n-i+2)/2+j-i+1 i<=j
n(n+1)/2+1 i>j

下三角矩阵
k=
i*(i-1)/2+j i<=j
n(n+1)/2+1 i>j

对角矩阵:
特点:
在n*n的方阵中,所有非零元素都集中在以主对角线为中心的带状区域中,区域外的值全为0。常见的有三对角矩阵,五对角矩阵,七对角矩阵等。
在这里插入图片描述
稀疏矩阵:
三元组(i,j,aij)
矩阵维数(总行数,总列数)
在这里插入图片描述
三元组顺序表又称有序的双下标法。
优点:
非零元素在表中按行序有序存储,一次便于进行依行顺序处理的矩阵运算。
缺点:
不能随机存储。若按行号存取某一行中的非零元素,则需从头开始进行查找。
稀疏矩阵的链式存储结构:十字链表
结点除了(row,col,value)以外,还要有两个域:
right:用于链接同一行中的下一个非零元素;
down:用于链接同一列中的下一个非零元素。
十字链表中结点的结构示意图
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值