1.3.3 算法效率的衡量方法

例1.1 两个 n n 的矩阵相乘。其中矩阵的"阶" n 为问题的规模。

算法 1.1
  void Mult_matrix( int c[][], int a[][], int b[][], int n)
 {
  // a、b 和 c 均为 n 阶方阵,且 c 是 a 和 b 的乘积
  for (i=1; i<=n; ++i)
   for (j=1; j<=n; ++j) {
    c[i,j] = 0;
    for (k=1; k<=n; ++k)
     c[i,j] += a[i,k]*b[k,j];
   }
 }// Mult_matrix

  算法的时间复杂度O (n3)
 
 
 
 
 
 
 
 
  容易看出,算法中的控制结构是三重循环,每一重循环的次数是 n 。原操作有赋值,加法和乘法,显然,在三重循环之内的"乘法"是基本操作,它的重复执行次数是n3