确定确切的次数 BigFn() 被调用。
for i in range(1,N+1):
for j in range(1,N*N+1):
myList[i][j] = BigFn(i,j)
这是我的猜测。
for i in range(1,N+1): # N times
for j in range(1,N*N+1): # N^2 times
myList[i][j] = BigFn(i,j) #Here is where I don't know what to do...?
我如何找出最佳和最坏情况下的行为?
提前致谢!
最佳答案
您的猜测是正确的,bigFn() 被调用了 O(n3) 次。正如你所说:
for i in range(1,N+1): # N times
for j in range(1,N*N+1): # N^2 times
所以基于rule of product , BigFn() 被调用了 O(n3) 次。
关于Python算法分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26728360/