稀疏矩阵可能有很多0,根据这个特性我们可以优化矩阵乘法的时间效率.
这是在做POJ_3735时学到的,思路很简单,但是我程序一直挂,后来发现有个很给力的优化.
思路很简单,不解释.
附代码:
View Code
void matrixMul(LL a[][110],LL b[][110],LL c[][110])
{
clear(c);
for(int i=0;i<=n;i++)
{
for(int j=0;j<=n;j++)
{
if(0==a[i][j])//这是优化的地方.
continue;
for(int k=0;k<=n;k++)
c[i][k]+=a[i][j]*b[j][k];
}
}
}