算法效率的度量方法
- 事后统计方法(缺陷很大):通过设计好的测试程序和数据进行度量。
- 事前分析估算方法:在计算机程序编写前,依据统计方法对算法进行估算。
函数的渐进增长
比较两个算法运算速度:
- 算法A:2n+3
- 算法B:3n+1
n = 1时算法A比算法B优秀,n > 2时算法B比算法A优秀,总体上算法A比算法B优秀。
概念:给定两个函数f(n)和g(n),如果存在一个整数N使对于所有的n>N,f(n)总是比g(n)大,那么我们说f(n)的增长渐进快于g(n)。
结论:判断一个算法的效率时,函数中的次要项可以忽略,更应该关注最高项的阶数。根据少量数据是不能做出准确判断的,很容易以偏概全。