我正在阅读有关时间复杂性的文章,并且遇到时间复杂度O(n!+ n)。有可能简化这个吗?如果是这样,你会怎么做?
答案 0 :(得分:4)
作为提示,对于n≥2,请注意
N! +n≤n! + n! = 2n!
那个
N! + n> N!
您能否使用这些观察结果找到一种表达O(n!+ n)的简单方法?
希望这有帮助!
答案 1 :(得分:0)
即使@templatetypedef的答案是正确的,并尝试帮助您在特定情况下采取解决方案,我们可以尝试为您提供更多工具,以便在实践中使用它。
直接从big O定义你可以说:
O(f(n)+g(n)) = O(f(n)) + O(g(n))
O(k f(n)) = k O(f(n)) = O(f(n))
f(n)
是O(n)
,则f(n)
是O(n!)
其中1和2直接来自limsup属性,3是一个简单的练习。通过这3个句子,我们可以说:
O(n!+ n)= O(n!)+ O(n)= 2 O(n!)= O(n!)