算法分析基础

Posted 王勋广

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法分析基础相关的知识,希望对你有一定的参考价值。

【算法分析的定义】

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

【表示时间复杂度的符号】

(1)Θ(西塔):紧确界。            相当于"="

(2)O (大欧):上界。              相当于"<="

(3)o(小欧):非紧的上界。       相当于"<"

(4)Ω(大欧米伽):下界。          相当于">="

(5)ω(小欧米伽):非紧的下界。 相当于">"

【主方法求解递归】

主方法为如下形式的递归提供了一种“菜谱”式的求解方法
  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

 

以上是关于算法分析基础的主要内容,如果未能解决你的问题,请参考以下文章

算法分析基础

算法时间复杂度分析基础

7.2堆排序的代码分析(算法基础—排序算法)

算法分析 - 基础

算法设计与分析基础19字符串匹配算法

算法设计与分析基础14快速排序