随机稀疏矩阵的压缩存储方法: 一、三元组顺序表 二、行逻辑联接的顺序表 三、十字链表
随机稀疏矩阵的压缩存储方法: 一、三元组顺序表 二、行逻辑联接的顺序表 三、 十字链表
、三元组顺序表 *define maXsize 12500 ypedef struct i inti,j;/该非零元的行下标和列下标 Elem Type e;∥该非零元的值 } Triple;∥三元组类型 typedef union i Triple data MAXSIZE 11 int mu. nu. tu } SMAtrix;∥稀疏矩阵类型
#define MAXSIZE 12500 typedef struct { int i, j; //该非零元的行下标和列下标 ElemType e; // 该非零元的值 } Triple; // 三元组类型 一、三元组顺序表 typedef union { Triple data[MAXSIZE + 1]; int mu, nu, tu; } TSMatrix; // 稀疏矩阵类型
如何求转置矩阵? 0036 01400-5 14-70 0-7000 000 3600280 05 28 00
如何求转置矩阵? − − 36 0 0 28 0 0 7 0 0 0 0 14 0 0 5 − − 5 0 0 0 0 28 0 0 0 14 7 0 0 0 36
用常规的二维数组表示时的算法 for(col=1; cok=nu; ++col) for (row=1; row<=mu; +trow) TIcollrow=mrow[coll 其时间复杂度为:O( muxnu)
用常规的二维数组表示时的算法 其时间复杂度为: O(mu×nu) for (col=1; col<=nu; ++col) for (row=1; row<=mu; ++row) T[col][row] = M[row][col];
用“三元组”表示时如何实现? 1214 1336 15-5 2114 122-7 22-7 3136 4328 3428 51-5
用“三元组”表示时如何实现? 1 2 14 1 5 -5 2 2 -7 3 1 36 3 4 28 2 1 14 5 1 -5 2 2 -7 1 3 36 4 3 28