运行 时间复杂度

Running time complexity

对于函数 f(n) : n! , n^2 和 n .. 如果一个问题可以在 1 秒内解决,给定算法 解决问题需要 f(n) 微秒。

我知道一个事实! = 9 在一秒钟内。但我不知道这是怎么计算的。有人可以向我解释这些函数是如何计算的吗?

据我了解,您被问到 "when should I use which",我应该使用需要 1 秒恒定时间的算法吗?或者我应该使用需要 f(n) 微秒的算法。

注意1 second = 10^6 microseconds,所以你正在求解:

f(n) <= 1,000,000 其中 n 是自然数。

给f(10)赋值,可以看到f(10) = 3,628,800 > 10^6
但是f(9) = 362880 < 10^6

因此,对于 f(n)=n!,您要使用 f(n) 算法的最高数字是 n=9

对其他候选人做同样的事情,你也会得到他们的答案。

(提示:求解方程 f(n) = 10^6,看看在您找到的 n 附近会发生什么)。