NOIP/CSP初赛主定理(master定理)学习笔记:递归复杂度求解

博客介绍了Master定理在解决递归时间复杂度问题中的应用,包括定理内容、三个情况的分类及实例解析,帮助理解如何根据c和k的关系确定时间复杂度,并提供了NOIP竞赛中的实际题目来说明。
摘要由CSDN通过智能技术生成

m a s t e r \mathrm{master} master定理求解范围

对于一些递归性时间复杂度,由于难以计算,我们需要使用 M a s t e r \mathrm{Master} Master定理来进行求解。

例如,我们熟悉的分治算法,其递归式为: T ( n ) = 2 T ( n 2 ) + n T(n)=2T(\frac{n}{2})+n T(n)=2T(2n)+n时间复杂度就是 O ( n l o g 2 n ) O(nlog_2n) O(nlog2n).因此,我们普遍的将时间复杂度问题形式化为: T ( n ) = a T ( n b ) + f ( n ) T(n)=aT(\frac{n}{b})+f(n) T(n)=aT(bn)+f(n)

对于对于此类我们,我们便可以使用 m a s t e r \mathrm{master} master定理来进行求解了。

m a s t e r \mathrm{master} master定理的内容

对于递归的时间复杂度问题 T ( n ) = a T ( n b ) + f ( n ) T(n)=aT(\frac{n}{b})+f(n) T(n)=aT(bn)+f(n)

我们令 c = l o g b a c=log_ba c=logba,再和 f ( n ) f(n) f(n)的时间复杂度进行比较,可以分为三类情况。

我们可以令 f ( n ) = O ( n k ) f(n)=O(n^k) f(n)=O(nk)或者 O ( n k l o g ) O(n^klog) O(nklog)之类的。那么我们将 c c c和这里的 k k k进行比较。这样就可十分方便的去分类,还比较好记。

  • 1.当 c > k c>k c>k时,且 T ( n ) = a T ( n b ) + f ( n k ) T(n)=aT(\frac{n}{b})+f(n^k)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值