有些特殊矩阵,非零元素呈某种规律分布或者矩阵中出现大量的零元素的情况下,会占用许多单元去存储重复的非零元素或零元素,这对高阶矩阵会造成极大的浪费,为了节省存储空间,对这类矩阵进行压缩存储——即为多个相同的非零元素只分配一个存储空间;对零元素不分配空间。
特殊矩阵:所谓特殊矩阵是指非零元素或零元素的分布有一定规律的矩阵,如对称矩阵、三角矩阵、对角矩阵等等。
![](https://img.haomeiwen.com/i10297212/081c36050baa58be.png)
对称矩阵:
![](https://img.haomeiwen.com/i10297212/74d017d57304ffdc.png)
对称矩阵中元素关于主对角线对称,故只要存储矩阵中上三角或下三角中的元素,让每两个对称的元素共享一个存储空间,这样能节约近一半的存储空间。
n2 个元素可以压缩到 n(n+1)/2个空间中。
![](https://img.haomeiwen.com/i10297212/f5f3377821ccae21.png)
![](https://img.haomeiwen.com/i10297212/d6c4baf76e74771d.png)
三角矩阵
以主对角线划分,三角矩阵有上三角和下三角两种。上三角矩阵它的下三角中的元素均为常数。下三角矩阵正好相反,它的主对角线上方均为常数。
![](https://img.haomeiwen.com/i10297212/cd4105a83552b586.png)
![](https://img.haomeiwen.com/i10297212/90aaca04f47bb1ca.png)
![](https://img.haomeiwen.com/i10297212/d758a263a815af13.png)
稀疏矩阵:
![](https://img.haomeiwen.com/i10297212/3d3f1c196f6a5af4.png)
除了记录非零元素的值之外,还必须同时几下它所在的行和列的位置。稀疏矩阵的存储方法一般有三种:三元组法、行逻辑连接顺序表和十字链表法。
![](https://img.haomeiwen.com/i10297212/b89f61736a19767d.png)
网友评论