运行 时间复杂度
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
附近会发生什么)。
对于函数 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
附近会发生什么)。