运行时t(n)∈Θ(n ^ 3/2)的代码片段

时间:2015-01-14 08:41:41

标签: algorithm runtime complexity-theory master-theorem

我正在尝试解决一个练习,我必须编写一个带有t(n)∈Θ(n ^ 3/2)运行时的codesnippet。

我被允许使用递归,加法,减法,整数除以2,for循环,if语句,<,>,==以及if-和return-语句。

要获得t(n)∈Θ(n ^ 3)的运行时,我必须只使用3个for循环,我认为有这个规则,通过使用if语句,运行时变为对数。我对如何获得t(n)∈Θ(n ^ 3/2)的运行时没有任何想法。

如果有人可以提供一些建议,我会很高兴。谢谢:))

1 个答案:

答案 0 :(得分:2)

以下是代码片段,用于查找在 O(N ^ 3/2)中完成的从2到 N 的所有数字的除数因子。

    for(int i=2;i<=N;i++)
    {
        for(j=2;j*j<=i;j++)
        {
            if(i%j==0)
            {
                printf("another non-trivial divisor pair for %d is %d,%d",i,j,i/j); 
            }
        }
    }

外环 O(N),内部 O(N ^ 1/2)