填空题
【说明】
在一个矩阵中,如果其零元素的个数大大多于其非零元素的个数时,称这样的矩阵为稀疏矩阵。若直接用一个两维数组表示稀疏矩阵,会因存储太多的零元素而浪费大量的内存空间。通常采用三元组数组表示稀疏矩阵。
稀疏矩阵的每个非零元素用一个二元组来表示:即非零元素的行号、列号和它的值。然后按某种顺序将全部非零元素的三元组存于一个数组中。例如对于以下两维数组。
int x[5][4]={{1,0,0,0},
{0,5,0,0},
{0,0,7,2},
{6,0,0,0},
{0,3,0,8}};
可用以下数组a来表示:
int a[][3]={{5,4,7},
{0,0,1},
{1,1,5},
{2,2,7},
{2,3,2},
{3,0,6},
{4,1,3},
{4,3,8}};
其中三元数组a的第1行元素的值分别存储稀疏矩阵x的行数、列数和非零元素个数。
下面的流程图描述了稀疏矩阵转换的过程。
【流程图】
【正确答案】
1、{m,n,s} (2) 1
【答案解析】(3) 0,m, 1 (4) 0,n,1
(5) {i,j,x[i][j] }