1数据.结构问题,有一个100*90的稀疏矩阵,非零元素有10个,设元素为整型,每个整型数
占2字节,则用三元组存储该矩阵时,所需的字节数是多少.
答:每个元素要用行号,列号,元素值来表示,在用三元组表示稀疏矩阵,还要三个成员来记住,矩阵的行数列数,总的元素数,所以所需的字节数是10*(1+1+1)*2+3*2=66
占2字节,则用三元组存储该矩阵时,所需的字节数是多少.
答:每个元素要用行号,列号,元素值来表示,在用三元组表示稀疏矩阵,还要三个成员来记住,矩阵的行数列数,总的元素数,所以所需的字节数是10*(1+1+1)*2+3*2=66
个人对于3 * 2 的解释是原矩阵的行列,以及非零元素的个数(用于恢复时对三元组中数组的提取,否则不知道到底存了多少个), 关于三元组的结构看下面。
//书上三元组的表类型的定义如下: #define MAAXSIZE 1000 typedef struct{ int row, col; ElementType e; }Triple; typedef struct{ Triple data[MAXSIZE + 1] ; // 非零元的三元组表,data[0]未用。 ??? int m, n, len; //矩阵的行数、列数和非零元的个数; }TSMatrix;