03.递归的时间复杂度

1. 递归的时间复杂度

master公式
T ( N ) = a ∗ T ( N / b ) + O ( N d ) i f ( l o g b a > d ) O ( N l o g b a ) i f ( l o g b a = = d ) O ( N d ∗ l o g 2 N ) i f ( l o g b a < d ) O ( N d ) T(N)=a*T(N/b)+O(N^d)\\ if(log_b^a > d)O(N^{log_b^a})\\ if(log_b^a==d)O(N^d*{log_2^N})\\ if(log_b^a<d) O(N^d)\\ T(N)=aT(N/b)+O(Nd)if(logba>d)O(Nlogba)if(logba==d)O(Ndlog2N)if(logba<d)O(Nd)

b是把样本分为几份,a是这个递归发生了几次,除了递归外其它的操作时间复杂度为O(N^d)。例如归并排序,从中间分成两部分,所以b=2,左侧和右侧共两次执行递归,所以a=2,因为merge过程的操作时间复杂度是n,所以d=1,因此符合master公式的第二个if,所以归并的时间复杂度就是nlogn

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tux~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值