矩阵的压缩存储

矩阵是很多科学与工程计算问题中研究的数学对象。这里研究的不是矩阵本身,而是如何存储矩阵的元。从而使矩阵的各类运算能够有效展开。

用高级语言编制程序时,都是用二维数组来存储矩阵元。有些设计语言程序还提供了各种矩阵运算,用户使用非常方便。

存储矩阵的一般方法是采用二维数组,其优点是可以随机地访问每一个元素,因而能够较容易地实现矩阵的各种运算,如转置运算、加法运算、乘法运算等。

对于稀疏矩阵来说,采用二维数组的存储方法既浪费大量的存储单元用来存放零元素,又要在运算中花费大量的时间来进行零元素的无效计算。所以必须考虑对稀疏矩阵进行压缩存储。

尤其是在面对阶数很高的矩阵时,有时候为了节省存储空间,有必要对这类矩阵进行压缩。尤其是矩阵中存在许多值相同的元素或零元素。这就引申出一个课题:矩阵的压缩存储

这类矩阵分两种:

特殊矩阵:假如值相同的元素或者零元素在矩阵中的分布有一定的规律

稀疏矩阵:元素分布没有规律

这里讨论的特殊矩阵都是方阵,主要有三种:

对称矩阵、上/下三角矩阵、对角矩阵;

稀疏矩阵:无法给出确切的定义,只是凭人们直觉来了解的一种概念。可以用稀疏因子去描述。

相关链接:按顺序阅读为宜

特殊矩阵的存储压缩:https://blog.csdn.net/kong_xz/article/details/79470663           //图示给得很足,适合入门了解概念,感性直观认识

数据结构-特殊矩阵的压缩存储:https://blog.csdn.net/qq_29721419/article/details/70482392    //介绍了三种特殊矩阵,及其压缩存储的代码实现。也把稀疏矩阵介绍了一下

稀疏矩阵的概念及简单实现:https://blog.csdn.net/yhb1047818384/article/details/78996906   //详细介绍了稀疏矩阵的概念,及提供了压缩方法的介绍,含图示

稀疏矩阵的三种存储方式:https://www.cnblogs.com/zhoug2020/p/7767085.html

猜你喜欢

转载自www.cnblogs.com/grooovvve/p/10375702.html