我正在研究进行矩阵乘法的替代方法。我没有将我的矩阵存储为二维数组,而是使用了一个向量,例如
vector<pair<pair<int,int >,int > >
存储我的矩阵。我的对 (pair) 中的对存储我的索引 (i,j),另一个 int 存储给定 (i,j) 对的值。我想我可能会以这种方式实现我的稀疏数组。
问题是当我尝试将此矩阵与自身相乘时。
如果这是一个二维数组实现,我会将矩阵相乘如下:
for(i=0; i<row1; i++)
{
for(j=0; j<col1; j++)
{
C[i][j] = 0;
for(k=0; k<col2; k++)
C[i][j] += A[i][j] * A[j][k];
}
}
有人可以指出一种使用我的“对”向量来实现相同结果的方法吗?
谢谢