如何解决这个任务????(????)=4????(????/4)+????√n?
Posted
技术标签:
【中文标题】如何解决这个任务????(????)=4????(????/4)+????√n?【英文标题】:How to Solve this task ????(????)=4????(????/4)+????√n? 【发布时间】:2021-08-15 13:21:19 【问题描述】:我是《分而治之》的新手。我想知道如何找出这个计算的运行时间?
我具体需要注意什么以及如何进行?
n=1 运行时间 = O(1)
【问题讨论】:
如果你点击master-theorem
标签> 了解更多,你会进入Master theorem的Wiki页面,其中还包含运行时间的示例:en.wikipedia.org/wiki/…
【参考方案1】:
让我们看看这个计算:
T(n) = 4T(n/4) + n * sqrt(n) 扩展总和 k 步它将像 T(n) = 4^k[T(n/4^k)] + n * sqrt(n) * sqrt(1/4)+sqrt (1/16).... 这里 sqrt(1/4)+sqrt(1/16).... 是几何级数 如果我们取 k=log4(n) //这里的基数是 4T(n) = n * [T(1)] + n * sqrt(n)* 1-[2/sqrt(n)]T(n) = n * [T(1)] + n * sqrt(n) -2 * n 你仍然可以使用
主定理
T(n) = aT(n/b) + f(n)。如果 f(n) = Θ(n^d),其中 d ≥ 0,则
T(n) = Θ(n^d) 如果 a T(n) = Θ((n^d)log n) 如果 a = bd,T(n) = Θ(n^(logba)) 如果 a > bd
是的,ans 是 O(n^3/2) 抱歉,由于声誉低,无法发表评论【讨论】:
所以运行时间是?(?)=Θ(?(?))=Θ(?3/2) ?以上是关于如何解决这个任务????(????)=4????(????/4)+????√n?的主要内容,如果未能解决你的问题,请参考以下文章
“进程启动失败:未能获取进程 2282 的任务”如何解决这个问题?