§5
§51特殊矩阵§511三角矩阵与对称矩阵
矩阵的压缩存储
a110000a21a22000a31a32a3300a41a42a43a440a51a52a53a54a55上三角矩阵a11a12a13a14a15a21a22a23a24a25a31a32a33a34a35a41a42a43a44a45a51a52a53a54a55对称矩阵
设有矩阵Aarray1
1
ofAtype;三角矩阵:若A的对角线以上(或以下)的元素均为零。对称矩阵:若A中的元素满足:aijaji(1≤i,j≤
),则称为
阶对称矩阵。为了节省存储空间,三角矩阵和对称矩阵都不需存储对角线以上(或以下)的元素,一般采用一维数组的结构。V:1a112a213a224a315a326a337a418a429a4310a44…………
此时需要
个元素的存储空间。
若将上三角矩阵中的元素按行顺序存储到V中,则Vk与Aij的对应关系是:k①
若将下三角矩阵中的元素按行顺序存储到V中,则Vk与Aij的对应关系是:k②a11a12a13a14a150a22a23a24a2500a33a34a35000a44a450000a55下三角矩阵
§512带状矩阵
在
×
的矩阵中,若所有非零元素均集中在以对角线为中的带状区中,该带状区包括主对角线上面和下面各k条对角线以及主对角线上的元素,这种矩阵称带状矩阵。
k条对角线
k条对角线
1145000
主对角线
22122000
301013761796102
008111418
00015213
k2的带状矩阵
f金山中学计算机竞赛班教程数据结构
在带状矩阵A中,ijk或
③时,Aij0。
对于带状区以外的0元素可不必存储,而只存储带状区中的元素。带状区中有④个元素,但为了方便起见,每行当作2k1个元素来存储,此时存储的元素个数为2k1×
个。【参考答案】:①②③④i×i12j
i1×i1ji1jik
×
k×
k1
§52稀疏矩阵大多数元素的值为零的矩阵称为稀疏矩阵,为了节省存储空间,可以采取三元组或十字链表等方法来存储。§521三元组表示法三元组表示法是用三元组(ijv)表示矩阵的每个非零元素。第一行的ijv分别表示矩阵A的行数、列数、非零元素个数,第二行开始的ijv分别表示矩阵A中每个非零元素的行下标、列下标、元素的值。【例52_1】150A00910011000003002822000000000-1500000T611122356614623413815221511369128
0-60
§522三元组矩阵转置对矩阵的运算有许多,如两个矩阵相加、相乘、转置……等。转置是一种简单的矩阵运算,对于一个m×
的矩阵M,它的转置矩阵N是一个
×m的矩阵,且M(ij)=N(ji)。【例52_2】123M=456这里只讨论三元组的转置算法。三元组r