回 帖 发 新 帖 刷新版面

主题:求两个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),,各位谁会的,解释一下好吗?

回复列表 (共1个回复)

沙发

主要复杂度。。。就是只算最主要的部分。。n的平方是大头。。。n的一次方和1是次要部分。
建议看看大O

我来回复

您尚未登录,请登录后再回复。点此登录或注册