麻省理工《算法导论》学习笔记(二)渐近符号,递归及解法

来源:互联网 发布:水仙花数c语言程序100_ 编辑:程序博客网 时间:2024/04/27 18:37
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.主定理方法:

    懒得自己画一个图了,找了一个人的博客的图:

    主定理有三种情况,不同的情况有不同的用法:

利用主定理可以很方便地分析一些算法的复杂度。


原创粉丝点击