麻省理工《算法导论》学习笔记(二)渐近符号,递归及解法
2013-02-17 15:57
295 查看
2012-03-28 22:51
一、渐近符号:
1.
,表示f(n)的复杂度最多与g(n)一个数量级,即小于等于。
2.
,表示f(n)的复杂度要比g(n)的数量级小,即小于。
3.
,表示f(n)的复杂度最少与g(n)一个数量级,即大于等于。
4.
,表示f(n)的复杂度要比g(n)的数量级大,即大于。
5.
,表示f(n)的复杂度既大于等于g(n)的复杂度,又小于等于g(n)的复杂度,即于g(n)的复杂度相当。
二、分析一个算法的复杂度:
1.利用递归树的方法:
画出递归树,然后计算叶子节点的和。一般最后计算和的式子都是等比级数的形式,所以会非常好算。
例如:T(n) = 2T(n/2) + n2的递归树如下:
2.主定理方法:
懒得自己画一个图了,找了一个人的博客的图:
主定理有三种情况,不同的情况有不同的用法:
利用主定理可以很方便地分析一些算法的复杂度。
麻省理工《算法导论》学习笔记(二)渐近符号,递归及解法
今天,来学习一下程序中的渐近符号,递归及分析。一、渐近符号:
1.
,表示f(n)的复杂度最多与g(n)一个数量级,即小于等于。
2.
,表示f(n)的复杂度要比g(n)的数量级小,即小于。
3.
,表示f(n)的复杂度最少与g(n)一个数量级,即大于等于。
4.
,表示f(n)的复杂度要比g(n)的数量级大,即大于。
5.
,表示f(n)的复杂度既大于等于g(n)的复杂度,又小于等于g(n)的复杂度,即于g(n)的复杂度相当。
二、分析一个算法的复杂度:
1.利用递归树的方法:
画出递归树,然后计算叶子节点的和。一般最后计算和的式子都是等比级数的形式,所以会非常好算。
例如:T(n) = 2T(n/2) + n2的递归树如下:
2.主定理方法:
懒得自己画一个图了,找了一个人的博客的图:
主定理有三种情况,不同的情况有不同的用法:
利用主定理可以很方便地分析一些算法的复杂度。
相关文章推荐
- MIT公开课《算法导论》笔记二:渐近符号、递归及解法
- 算法导论——渐近符号、递归及解法
- 《算法导论》课程笔记(2)- 渐近符号、递归及解法
- 【算法导论】02——渐近符号、递归及解法
- 第二节 渐近符号、递归及解法
- 麻省理工大学公开课笔记:算法导论(三)——渐近符号、递归及解法
- 渐近符号、递归及解法
- 【算法导论】第二课 渐近符号、递归及解法
- 麻省理工学院《算法导论》课堂笔记(第二集)渐进符号、递归及解法
- 算法导论(一)——渐近分析,递归解法
- 《算法导论》CH3 渐近符号总结比较
- 算法打基础——符号&递归解法
- MIT:算法导论——2.渐近符号、递归及解法_和连续子数组的最大和、主方法/主定理求时间复杂度
- MIT算法导论-第二讲-渐进符号,递归及解法
- 变形二叉树中节点的最大距离(树的最长路径)——非递归解法
- 《算法导论》学习笔记 前言
- 汉诺塔递归解法
- 算法导论第三版第四章 最大子数组和的三种解法(暴力、教材分治法、线性解法)
- 算法设计关于递归方程T(n)=aT(n/b)+f(n)之通用解法
- 算法设计关于递归方程T(n)=aT(n/b)+f(n)之通用解法