大O符号:O((n-1)!)或O(n!)代表T((n-1)!)?

时间:2015-03-25 10:43:31

标签: big-o time-complexity complexity-theory

我有一个算法,我已经分析过它的时间复杂度为(n-1)!

要将其置于big-O表示法中,我会写O((n-1)!)还是O(n!)

2 个答案:

答案 0 :(得分:1)

应该是O((n-1)!)

O(n!)实际上是O(n⋅(n-1)!)

答案 1 :(得分:1)

让我们来看看:

limn → ∞ n!/(n-1)! = limn → ∞ n = ∞

因此(请参阅definition(n-1)!位于o(n!)(小-o)。

因此,如果您的算法复杂度在O((n-1)!)中,那么它也在O(n!)中,因此编写O(n!)而不是O((n-1)!)并没有错,但{{1}是一个更严格的约束,所以你应该使用这个。

与写O((n-1)!)π ≤ 22/7基本相同。两者都是对的,但π ≤ 4更接近。