算法分析与设计之复杂度

1、Master主定理

T(n)=aT(\frac{n}{b})+f(n)

一、可以用主定理的例题:

1、T(n)=4T(\frac{n}{2})+n

由于log_{b}a=2>1所以T(n)=O(n^{2})参考主定理第一条

也可以具体推导一下,后面会给出一些推导的例子,这个相对简单一些

2、T(n)=16T(\frac{n}{4})+n^{2}

由于log_{b}a=2=2所以T(n)=O(n^{2}logn)参考主定理第二条

这里给出详细推导,见下图

 

3、T(n)=7T(\frac{n}{3})+n^{2}

由于log_{b}a=log_{3}7<2所以T(n)=O(n^{2})参考主定理第三条

这里给出详细推导,见下图

二、不能用主定理的例题

1、T(n)=3T(\frac{n}{3}+5)+\frac{n}{2}

下面给出详细的过程(这个有一点复杂~)

2、T(n)=T(\frac{n}{2})+T(\frac{n}{4})+T(\frac{n}{8})+n

下面给出详细的过程

3、T(n)=T(n-1)+logn

下面给出详细的过程

以上一些例题已经覆盖了大部分常见的求算法复杂度,将主定理记熟还需多练习~

 

 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值