稀疏矩阵的三种存储方式

本文介绍了稀疏矩阵的存储结构,包括对称矩阵、三角矩阵的存储策略,以及三元组表示法、带辅助行向量的二元组表示法和十字链表表示法。重点讲解了如何在C语言中实现稀疏矩阵的三元组表示法、行逻辑链表的顺序表和十字链表表示法,涉及矩阵的转置、相乘、相加和相减操作。
摘要由CSDN通过智能技术生成

一,相关概念

㈠特殊矩阵:矩阵中存在大多数值相同的元,或非0元,且在矩阵中的分布有一定规律。

⒈对称矩阵:矩阵中的元素满足

                   aij=aji    1i,jn

⒉三角矩阵:上(下)三角矩阵指矩阵的下(上)三角(不包括对角线)中的元素均为常数c0n阶矩阵。

⒊对角矩阵(带状矩阵):矩阵中所有非0元素集中在主对角线为中心的区域中。

㈡稀疏矩阵:非0元素很少(≤ 5%)且分布无规律。

二,存储结构

1、对称矩阵

存储分配策略: 每一对对称元只分配一个存储单元,即只存储下三角(包括对角线)的元, 所需空间数为:  n(n+1)/2

存储分配方法: 用一维数组sa[n(n+1)/2]作为存储结构。

2、三角矩阵

也是一个n阶方阵,有上三角和下三角矩阵。下()三角矩阵是主对角线以上(下)元素均为零的n阶矩阵。设以一维数组sb[0..n(n+1)/2]作为n阶三角矩阵B的存储结构,仍采用按行存储方案,则B中任一元素bi,jsb[k]之间仍然有如上的对应关系,只是还需要再加一个存储常数c的存储空间即可。如在下三角矩阵中,用n(n+1)/2的位置来存储常数

对特殊矩阵的压缩存储实质上就是将二维矩阵中的部分元素按照某种方案排列到一维数组中,不同的排列方案也就对应不同的存储方案

、稀疏矩阵

常见的有三元组表示法、带辅助行向量的二元组表示法(也即行逻辑链表的顺序表),十字链表表示法等。

三、存储结构及C语言描述

1三元组表示法 

快速转置:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值