我一直在阅读CLRS算法书,我决定为自己尝试一个问题。我一直在尝试使用新方法来帮助理解任意算法的复杂性,如下所示。这是我的方法:
逐行分析:
Line 2. Sum of natural numbers.
Theta(N)
Line 3. Sum of squares.
Theta(N 2 )
Line 4. If j is divisible by i.
Theta(?)
Line 5. Sum of natural numbers.
Theta(N)
算法:
1. sum = 0
2. for i=1 to n do
3. for j=1 to i2 do
4. if(j(mod i) == 0) then
5. for k=1 to j do
6. sum++
正如您所知,我试图找出sum++
被执行的次数,而第4行会让我失望。有人能引导我一点吗?