分治法的算法复杂性计算

  • 分治法一般是用递归实现的,且往往是均分,最常见的就是二分算法。
  • 而在计算分治法的算法复杂性时,我们往往能得到这样一个关于复杂性公式T(n)的递推式:

分治递归法的算法复杂性计算

  • 其中,
  1. n为数据规模,
  2. k为分治后子规模运算的数量,这里要注意k并不就等于分治划分数m,可以理解为 原本n规模的运算 被划分为 k个n/m规模的运算
  3. m为规模的划分数,一般为二分,即m=2。
  4. f(n)为分治后需要进行的额外计算复杂度,一般为将多个划分连接起来的运算。

  • 对于此类计算,我们可以得到以下计算公式:
    分治递归法的算法复杂性计算

  • 这样我们在分析分治递归算法时便能很快得到其算法复杂性。

相关文章: