主题:求两个n阶方阵的相加C=A+B的算法如下,分析其时间复杂度。(算法初学者)
#define MAX20 //定义最大的方阵
void matrixaad(int n,int A[MAX]{MAX],int B[MAX][MAX],int C[MAX][MAX])
{
int i,j;
for(i=0;i<n;i++) //语句 1
for(j==0;j<n;j++) //语句 2
C[i][j]=A[i][j]+B[i][j]; //语句 3
}
语句 1 的频度是 n+1,语句 2的频度是 n(n+1),语句 3的频度是 n^2,
该算法所有频度之和为
T(n)=n+1+n(n+1)+n^2=2n^2+2n+1=o(n^2)
等式右边的两个 没看懂,2n^2+2n+1=o(n^2),,各位谁会的,解释一下好吗?
void matrixaad(int n,int A[MAX]{MAX],int B[MAX][MAX],int C[MAX][MAX])
{
int i,j;
for(i=0;i<n;i++) //语句 1
for(j==0;j<n;j++) //语句 2
C[i][j]=A[i][j]+B[i][j]; //语句 3
}
语句 1 的频度是 n+1,语句 2的频度是 n(n+1),语句 3的频度是 n^2,
该算法所有频度之和为
T(n)=n+1+n(n+1)+n^2=2n^2+2n+1=o(n^2)
等式右边的两个 没看懂,2n^2+2n+1=o(n^2),,各位谁会的,解释一下好吗?