-------------------------------------资源来源于网络,仅供自学使用,如有侵权,联系我必删.
第一:
算法效率的度量
? 事前分析估算
依据统计的方法对算法效率进行估算
? 影响算法效率的主要因素
算法采用的策略和方法
问题的输入规模
编译器所产生的代码
计算机执行速度
第二:
算法效率的简单估算
二重循环估算
#include <stdio.h>
//(n*n + 4)T
int func(int a[], int len)
{
// 3次
int i = 0;
int j = 0;
int s = 0;
//n*n
for(i=0; i<len; i++)
{
for(j=0; j<len; j++)
{
s += i*j;
}
}
//1
return s;
}
int main()
{
int array[] = {1, 2, 3, 4, 5};
//估算func函数的操作数量
printf("%d\n", func(array, 5));
return 0;
}
? 启示
上面的程序关键部分的操作数量为n*n
随着问题规模n 的增大 , 它们操作数量的差异会越来越大 , 因此实际算法在时间效率上的差异也会变得非常明显 !
第三