伪码算法的运行时间

时间:2015-10-07 21:14:59

标签: algorithm discrete-mathematics

这是我用来查找运行时间的算法。我知道怎么做得这么好,除了他没有解释为while循环做什么,他说他不会。我也不知道begin和end的语法是什么。在for循环之后他通常没有那个,所以既然它现在在那里我很困惑。

procedure f(n)
    s=0;
    for i=1 to 5n do
         begin
             j=4i;
             while j<i^3 do
                  begin
                       s=s+i-j
                       j=5j
                  end
         end

1 个答案:

答案 0 :(得分:0)

查看第二个循环,我们可以看到while循环从4i开始,在k次迭代后结束,其中k4*i*5^k=i^3,即k = log_5{i^2/4} {1}}。所以你的运行时间是:

enter image description here

在倒数第二个等式中,我们使用了Stirling's approximation