算法导论主定理——算法复杂度分析的利器

本文探讨了递归式T(n)=aT(n/b)+f(n)的三种渐进界情况,分别对应f(n)的不同增长速度。第一种情况下,f(n)的增长远低于n的log_b(a)次方时,整体复杂度主要由递归部分决定;第二种情况下,f(n)与n的log_b(a)次方同阶增长时,复杂度中引入了对数因子;第三种情况下,f(n)增长较快但满足一定条件时,复杂度由f(n)决定。

设a>=1,b>1为常数,设f(n)为一函数,T(n)的递归式:

T(n)=aT(n/b)+f(n)

其中n/b指n/b的上取整或者是下取整。

那么T(n)可能有如下的渐进界:

1)e>0,有f(n)=O(n^(log_b(a)-e)),则T(n)=O(n^log_b(a))

2)若f(n)=O(n^log_b(a)),则T(n)=O(n^log_b(a)*log(n))

3)e>0,有f(n)=O(n^(log_b(a)+e)),且对于c>1,有足够大的n满足af(n/b)<=cf(n),则T(n)=O(f(n)).


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值