1.3.3 算法效率的衡量方法

例1.2 对 n 个整数的序列进行选择排序。其中序列的"长度" n 为问题的规模。

算法 1.2
  void select_sort(int a[], int n)
 {
  // 将 a 中整数序列重新排列成自小至大有序的整数序列。
  for ( i = 0; i< n-1; ++i ) {
   j = i;
   for ( k = i+1; k < n; ++k )
    if (a[k] < a[j] ) j = k;
   if ( j != i ) { w = a[j]; a[j] = a[i]; a[i] = w;}
 } // select_sort

  算法的时间复杂度O (n2)
 
 
 
  算法中的控制结构是两重循环,所以基本操作是在内层循环中的"比较",它的重复执行次数是
  

  对时间复杂度而言,只需要取最高项,并忽略常数系数。