首页 > 代码库 > 算法分析基础

算法分析基础

【算法分析的定义】

算法分析是对一个算法需要多少计算时间和存储空间作定量的分析。

【主方法求解递归】

主方法为如下形式的递归提供了一种“菜谱”式的求解方法
  T(n) = aT(n/b) + f(n)
其中a≥1和b>1是常数,f(n)是渐近函数。
上述递归式描述的是这样一种算法的运行时间:
它将规模为n的问题分解为a个子问题,每个子问题规模为n/b,其中a和b都是正常数。
a个子问题递归地进行求解,每个花费时间T(n/b)。
函数f(n)包含了问题分解和子问题解合并的代价。
其中n/b指n/b的上取整或者是下取整,对结果不会造成影响。

 

【主定理】

技术分享

 

【反例】

例:  T(n) = 2T(n/2) + nlgn

技术分享

 

算法分析基础