§5 矩阵的压缩存储
§5.1 特殊矩阵
§5.1.1 三角矩阵与对称矩阵
设有矩阵A : array [1..n , 1..n] of Atype; 三角矩阵:
若A的对角线以上(或以下)的元素均为零。
对称矩阵:
若A中的元素满足: aij = aji (1≤i,j≤n), 则称为n阶对称矩阵。
为了节省存储空间,三角矩阵和对称矩阵都不需存储对角线以上(或以下)的元素,一般采用一维数组的结构。
V
a11 0 0
0 a21 a22 0 0 0 a31 a32 a33 0 0 a41 a42 a43 a44 0 a51 a52 a53 a54 a55 上三角矩阵 a11 a12 a13 a14 a15 a21 a22 a23 a24 a25 a31 a32 a33 a34 a35 a41 a42 a43 a44 a45 a51 a52 a53 a54 a55 对称矩阵
此时需要 个元素的存储空间。
若将上三角矩阵中的元素按行顺序存储到V中,则V[k]与A[i, j]
的对应关系是: k = ①
若将下三角矩阵中的元素按行顺序存储到V中,则V[k]与A[i, j]的对应关系是: k= ②
§5.1.2 带状矩阵
a11 a12 a13 a14 a15 0 a22 a23 a24 a25 0 0 a33 a34 a35 0 0 0 a44 a45 0
0 0 0
a55
下三角矩阵
在n×n的矩阵中,若所有非零元素均集中在以对角线为中的带状
区中,该带状区包括主对角线上面和下面各k条对角线以及主对角线上的元素,这种矩阵称带状矩阵。
k条对角线 11 2 0 0
4 2 0
k条对角线
5 12 7 6 0
17 9 11
0 6 1 14 21 0 0 18 3
k=2的带状矩阵 主对角线