【数据结构和算法】Day 3

来源:互联网 发布:java webservice教程 编辑:程序博客网 时间:2024/04/28 17:22

算法效率的度量方法:

1)事后统计法:这种方法主要是通过设计好的测试程序和数据,利用计算机计时器对不同算法编制的程序的运行时间进行比较,从而确定算法效率的高低。

2)事前分析估算法:在计算机程序编写前,依据统计方法对算法进行估算。


影响高级语言程序运行时间的因素:

1)算法采用的策略,方案

2)编译产生的代码质量

3)问题的输入规模

4)机器执行指令的速度


由此可见,抛开与计算机软硬件有关的因素(因素2和因素4),一个程序运行时间依赖于算法的好坏和问题的输入规模(因素1和因素3)


我们研究算法的复杂度,侧重的是研究算法随着输入规模扩大增长量的一个抽象,而不是精确的定位需要执行多少次。


在分析一个算法的运行时间时,重要的是把基本操作的数量和输入模式关联起来。


函数的渐进增长:给定两个函数f(n)和g(n),如果存在一个整数N,使得对于所有的n>N,f(n)总是比g(n)大,那么我们说f(n)的增长渐进快于g(n)。


判断一个算法的效率时,函数中的常数和其他次项以及主项的系数常常可以忽略,而更应该关注主项(最高次项)的阶数。