需要帮助来验证这种复杂性

时间:2014-02-26 16:04:31

标签: c complexity-theory time-complexity

我正在解决一些复杂问题,我知道这个问题很简单。我需要知道我为这个算法找到的复杂性是否做得好,如果没有,有人可以帮我纠正它。

int algorithm(int x)
{
    int y=1;                                    1
    while(y<=x)                                 x+1
    {
        int z=x-y;                              x
        while(z>=1)                             x
        {
            z=z/5;                              x-1
        }
        y++;                                    x
    }
    return 0;
}

我发现复杂性为O(x) 任何帮助将不胜感激,谢谢。

2 个答案:

答案 0 :(得分:2)

你有x次迭代的主循环

  

而(Y&LT; = X)

,并且在每个循环中,你有内部循环的0..log(x)迭代

  

而(Z&GT; = 1)

所以imho的复杂性是o(xlogx)

答案 1 :(得分:0)

算法的初步形式如下所示:

enter image description here