已知算法A运行时间函数为T(n)=8T(n 2)+n2,其中n表示问题规模,则该算法时间复杂度为( )

A.θ(n)B.θ(nlgn)C.θ(n2)D.θ(n3)... A.θ(n)
B.θ(nlgn)
C.θ(n2)
D.θ(n3)
展开
考试资料网
2023-04-13 · 百度认证:赞题库官方账号
考试资料网
向TA提问
展开全部
【答案】:D
我们可以假设这个函数为Q(n)=a*n^3+b*n^2+c*n+d(我们假设是一个幂函数,最高次数是三次,假设成什么都可以,但是假设为幂函数大家好理解。)然后将式子带入得a*(2n)^3+b*(2n)^2+c*(2n)+d=2(a*n^3+b*n^2+c*n+d),然后展开,发现式子会变成这样:8a*n^3+4b*n^2+2c*n+d=2a*n^3+2b*n^2+2c*n+2d。对于一个多项式来说,如果等式两边相等,那么每一项(幂数相同,式子中a、b、c、d均为系数)都应该相同那么应该:8a*n^3=2a*n^3、4b*n^2=2b*n^2、2c*n=2c*n、d=2d。很明显如果等式想要相等话,那么式子中三次项、二次项、常数项系数应为0所以这个式子就会变为2c*n,所以Q(n)=2c*n,因为2c为常数,所以可以省去。这个函数就是一个线性函数,Q(n)=n,然后在将式子回带,Q(n)=n,那么G(n)=n-1,依旧是线性函数,省略1,此时G(n)=n,那么T(n)=n^3,所以时间复杂度为n^3
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式