最近看stanford的算法导论公开课,讲到分治法的时候提到了主方法,可以很快速的分析算法的时间复杂度。
对于一个递归实现的分治算法,其时间复杂度表示为:
T(n) = aT(n/b)+h(n)
其中,a>=1; b>1; h(n)是不参与递归部分的时间复杂度。
比较n^log b (a)与
本文介绍了算法复杂度分析中的主方法,用于快速评估分治算法的时间复杂度。通过比较n^log_b(a)与Θ(h(n)),可以确定算法复杂度:当相等时为Θ(h(n)*log(n)),如二分查找;小于时为Θ(h(n)),如某些情况的归并排序;大于时为Θ(n^log_b(a))。
最近看stanford的算法导论公开课,讲到分治法的时候提到了主方法,可以很快速的分析算法的时间复杂度。
对于一个递归实现的分治算法,其时间复杂度表示为:
T(n) = aT(n/b)+h(n)
其中,a>=1; b>1; h(n)是不参与递归部分的时间复杂度。
比较n^log b (a)与
1181
1697
1万+
6942

被折叠的 条评论
为什么被折叠?