#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
void Time(int n);
double ** Init(double **A, int n);
void mm1(double **a, double **b, double **c, int n);
void mm2(double **a, double **b, double **c, int n);
int main(int argc, char const *argv[])
{
int n;
for (n = 50; n <= 1000; n += 50)
{
Time(n);
cout << endl;
}
return 0;
}
double ** Init(double **A, int n)
{
int i,j;
for (i = 0; i != n; ++i)
A[i] = new double [n];
for (i = 0; i != n; ++i)
for (j = 0; j != n; ++j)
A[i][j] = rand();
}
void Time(int n)
{
clock_t start, finish;
double **A, **B, **C;
A = new double *[n];
B = new double *[n];
C = new double *[n];
Init(A, n);
Init(B, n);
Init(C, n);
start = clock();
mm1(A, B, C, n);
finish = clock();
cout << (double)(finish-start)/CLOCKS_PER_SEC << "\t"
普通矩阵乘法与分块矩阵运行时间测试
最新推荐文章于 2022-06-15 22:47:18 发布
本文通过C++代码实现并测试了普通矩阵乘法和分块矩阵乘法的时间消耗,对比了两者在不同尺寸下的运行效率。
摘要由CSDN通过智能技术生成