这两种算法的时间复杂度?

问题描述 投票:0回答:1

这是第一个算法,

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时间算法进行比较,并且运行时间之间仍然存在巨大差异……如果需要,我还可以提供所有这些不同算法的运行时间值。

algorithm time time-complexity big-o complexity-theory
1个回答
0
投票

第一个算法的时间复杂度类似于以下总和:

sum_{i=1}^{n-1} sum_{j=1}^{i*n} j
© www.soinside.com 2019 - 2024. All rights reserved.