gpt4 book ai didi

algorithm - 计算算法的执行时间

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:46:29 24 4
gpt4 key购买 nike

我有这个算法:

S(n)
if n=1 then return(0)
else
S(n/3)
x <- 0
while x<= 3n^3 do
x <- x+3
S(n/3)

2 * T(n/3) + n^3 是递归关系吗?

T(n) = O(n^3) 是执行时间吗?

最佳答案

递归表达式是正确的。该算法的时间复杂度为O(n^3)

循环在 T(1) 处停止。

运行 n = 27 的示例有助于推导通用表达式:

T(n) = 2*T(n/3)+n^3 =
= 2*(2*T(n/9)+(n/3)^3)+n^3 =
= 2*(2*(2*T(n/27)+(n/9)^3)+(n/3)^3)+n^3 =
= ... =
= 2*(2*2*T(n/27)+2*(n/9)^3+(n/3)^3)+n^3 =
= 2*2*2*T(n/27)+2*2*(n/9)^3+2*(n/3)^3+n^3

从这个例子我们可以看出一般表达式为:

enter image description here

相当于:

enter image description here

反过来,可以求解为以下封闭形式:

enter image description here

此表达式中的主导项是 (1/25)*27n^3 (2^(log_3(n))O(n) ,您可以将其视为 2^(log(n)*(1/log(3)));删除常量 1/log(3) 给出 2^log(n) = n),因此,递归是 O(n^3)

关于algorithm - 计算算法的执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20783931/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com