算法执行时间需通过依据该算法编制的程序在计算机上运行时所消耗的时间来度量。而度量一个程序的执行时间通常有两种方法。(1)事后统计的方法。(2)事前分析估算的方法。因事后统计方法更多的依赖于计算机的硬件、软件等环境因素,有时容易掩盖算法本身的优劣。因此人们常常采用事前分析估算的方法。
两个N * N矩阵相乘。如 2 * 2的矩阵,
void CMatrixNN::ComputeN2(void)
{
const intn= 2;
inta[n][n] = { {1, 2}, {1, 2} };
intb[n][n] = { {1, 2}, {1, 2} };
intresult2[][n] = {0, 0, 0, 0};
for(inti= 0; i< n; i++)
for(intj= 0; j< n; j++)
{
result2[i][j] = 0;
for(intk= 0; k< n; k++)
result2[i][j] += a[i][k] * b[k][j];
}
for(intl= 0; l< n; l++)
{
for(intm= 0; m< n; m++)
cout<< result2[l][m] << " ";
cout<< endl;
}
}
//输出
3 6
3 6
即使这个矩阵是2 * 2矩阵仍然需要三重