Image-MJ 2016-08-30 07:40 采纳率: 0%
浏览 1114

求大神解答稀疏矩阵相乘的问题

请编写并测试一个稀疏矩阵相乘的函数

matrix sparse_matrix_mul(const matrix& m1, constmatrix& m2)

其中matrix为一个描述稀疏矩阵的结构体:

struct matrix

{

float* _elements; //矩阵中所有元素的数组(按列优先的顺序)

int* _colheads; //每列的开始元素在_elements数组中的id

int* _colids; //_elements中每个元素在对应列中的行号

int _rows; //行数

int _cols; //列数

};

例如矩阵

0 1 0

2 4 5

3 0 0

对应结构中各数组为

_elements:{2,3,1,4,5}

_colheads:{0,2,4}

_colids:{1,2,0,1,1}.

请提交一个完整的可编译的程序和测试数据。
提示:请尽可能优化代码的时空间效率,并处理异常情况。

  • 写回答

1条回答 默认 最新

报告相同问题?