这些函数在 Big-O 中的确切运行时间是多少
What is the exact runtime in Big-O of those functions
我想问一下是否有人可以回答这个问题并检查我的解决方案。我不太了解这些功能的大 O。
e(n)= n! + 2^n
f(n)= log10(n) * n/2 + n
g(n) = n2 + n * log(n)
h(n) = 2^30n * 4^log2(n)
我认为:
e(n)n!因为 n!呈指数增长。
f(n) n(log)n 但我真的不知道为什么
g(n) n^2
h(n) n
如有任何答复,我将不胜感激。谢谢。
Big O 表示法允许我们评估函数在趋于无穷大时相对于某个量的增长。
函数的大 O 表示法是它增长最快的组成部分的表示法。大 O 符号限制函数的增长。
例如,如果一个函数被称为 O(n)。
存在一些 k 使得 f(n) <= k * n 对于所有 n.
当我们查看趋于无穷大的值时,我们忽略了等式的所有其他成分。随着 n 趋于无穷大,等式的其他成分被淹没了。
我们忽略任何常量,因为我们正在描述函数趋于某个值的一般关系。常数使事情更难分析。
e(n) = n! + 2^n。阶乘是等式中增长最快的成分,因此大 O 表示法是 O(n!)。
f(n) = log10(n) * n/2 + n。快速增长的成分是 log10(n) * n/2。我们说大 O 表示法是 O(nlogn)。我们使用什么基数并不重要,因为我们可以使用常数因子在对数基数之间进行转换。
g(n) = n^2 + n * log(n)。大 O 表示法是 n^2。这是因为 n^2 相对于 n.
的增长速度比 n * log(n) 快
h(n) = (2^30) * n * 4 ^ log2(n)。时间复杂度为 O(nlogn)。这个等式中的常数是 2^30 和 4,所以我们忽略这些值。这样做时你可以清楚地看到时间复杂度是 O(nlogn).
我想问一下是否有人可以回答这个问题并检查我的解决方案。我不太了解这些功能的大 O。
e(n)= n! + 2^n
f(n)= log10(n) * n/2 + n
g(n) = n2 + n * log(n)
h(n) = 2^30n * 4^log2(n)
我认为:
e(n)n!因为 n!呈指数增长。
f(n) n(log)n 但我真的不知道为什么
g(n) n^2
h(n) n
如有任何答复,我将不胜感激。谢谢。
Big O 表示法允许我们评估函数在趋于无穷大时相对于某个量的增长。
函数的大 O 表示法是它增长最快的组成部分的表示法。大 O 符号限制函数的增长。
例如,如果一个函数被称为 O(n)。 存在一些 k 使得 f(n) <= k * n 对于所有 n.
当我们查看趋于无穷大的值时,我们忽略了等式的所有其他成分。随着 n 趋于无穷大,等式的其他成分被淹没了。
我们忽略任何常量,因为我们正在描述函数趋于某个值的一般关系。常数使事情更难分析。
e(n) = n! + 2^n。阶乘是等式中增长最快的成分,因此大 O 表示法是 O(n!)。
f(n) = log10(n) * n/2 + n。快速增长的成分是 log10(n) * n/2。我们说大 O 表示法是 O(nlogn)。我们使用什么基数并不重要,因为我们可以使用常数因子在对数基数之间进行转换。
g(n) = n^2 + n * log(n)。大 O 表示法是 n^2。这是因为 n^2 相对于 n.
的增长速度比 n * log(n) 快h(n) = (2^30) * n * 4 ^ log2(n)。时间复杂度为 O(nlogn)。这个等式中的常数是 2^30 和 4,所以我们忽略这些值。这样做时你可以清楚地看到时间复杂度是 O(nlogn).