【发布时间】:2016-05-27 11:52:14
【问题描述】:
f 有一个复杂度类O(N(logN)^2),对于N = 1000,程序运行时间为 8 秒
计算N = 1,000,000时运行需要多长时间
我计算的时间是 32000 秒,但是我很困惑,因为 N 增长了 1000 倍,但时间增长了 4000 倍。我认为由于这是一个日志函数,N 的因子增加应该小于时间。
是我的计算有误还是有什么我不理解的地方?
【问题讨论】:
-
因为这是一个对数函数 - 它是 N 乘以对数,所以一切正常。 N 是 1000 倍,(logN)^2 是 4 倍,这些乘以,所以你的计算似乎是正确的。