c * n *(1- n)的渐近时间复杂度

问题描述 投票:0回答:1

假设解决重复问题,我发现:

T(n) = c*n*(1-n) = c*n - c*n^2

其中c是一个正常数,n是输入的大小

我是否应该考虑这种递归的渐近时间复杂度O(n),因为n ^ 2项为负?

更新:

例如,假设我们有以下重复发生:

T(n)= T(a * n)+ O(n),其中a小于1:=> T(n)= c * n *(1 + a + a ^ 2 + a ^ 3 + ...对于log a n个项)=> T(n)= c * n *(1-a ^ log a n)/(1-a)=> T(n)= c * n *(1- n)/(1- a)〜c * n *(1-n)
time-complexity recurrence
1个回答
0
投票

@ meowgoesthedog在注释中建议的错误是由于推理上的不正确跳跃(存在log (1 / a) n个术语而不是log a n);正确的推导如下:

T(n)= T(a * n)+ O(n),其中a小于1:=> T(n)= c * n *(1 + a + a ^ 2 + a ^ 3 + ...对于log (1 / a) n个项)=> T(n)= c * n *(1-a ^ log (1 / a) n)/(1-a)=> T(n)= c * n *(1- n)/(1- a)〜c * n *(1-1 / n)〜O(n)
© www.soinside.com 2019 - 2024. All rights reserved.