【算法】算法效率分析(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liyuerge/article/details/83005291
算法效率分析
  算法效率分析的目的是,看算法是都可以执行,并在同一个问题存在多个算法的时候,可以从空间和时间性能上进行比较,以便从中挑选出较优的算法。
  衡量算法效率的方法主要有两类:事后统计法和事前分析估算法。
  事后统计法:事后统计法需要先将算法实现,然后测算其时间和空间的开销。这种方式的缺陷很明显,首先,这种方法必须将算法转变为可执行的代码,其次,时间开销和空间开销往往以来与计算机的软件和硬件配置,这种方式测试出来的时空复杂度不具备普适性,很容易掩盖算法本身的优劣。
  事前分析估算法:这种方式是通过计算算法的渐进复杂度来衡量算法的效率。这里我们需要进行一些假设:我们需要假定我们拥有一台计算机,算法已经实现且没有错误,我们假定执行一条基本语句或者一个基本运算需要花费一个单位时间,我们从算法选取一种对于所研究的问题来说是基本操作的源操作,例如循环,等,以该基本操作重复执行的次数作为算法的时间度量。
  一般我们通常采用的都是事前估计法,来测试算法的时间复杂度和空间复杂度,事前估计法一般采用的是数学上的定义。

猜你喜欢

转载自blog.csdn.net/liyuerge/article/details/83005291
今日推荐