这是第一个算法,
sum = 0;
for( i=1; i<n; i++ )
for( j=0; j<i*n; j++ )
for( k=0; k<j; k++)
sum++;
这是第二种算法
sum = 0;
for( i=1; i<n; i++ )
( j=1; j<i*n; j++ )
if( j%1 == 0 )
for( k=0; k<j; k++ )
sum++;
有人可以帮我找到这两种算法的大O吗?我尝试这样做,但得到了n ^ 5,但是当我通过比较n ^ 5算法和这些算法的运行时间进行检查时,存在巨大的差异...尽管这两种算法的运行时间大致相同,但这意味着它们的时间复杂度是相同的。
[如果有人可以,请提供一种可能的方法来分析这两种算法并找出两者的时间复杂性。谢谢
注:我还尝试过将其与n ^ 4时间算法进行比较,并且运行时间之间仍然存在巨大差异……如果需要,我还可以提供所有这些不同算法的运行时间值。
第一个算法的时间复杂度类似于以下总和:
sum_{i=1}^{n-1} sum_{j=1}^{i*n} j