Big o 为什么计算大O时O(n*n*n!)会简化为O((n&x2B;2)!)

Big o 为什么计算大O时O(n*n*n!)会简化为O((n&x2B;2)!),big-o,permutation,Big O,Permutation,所以我一直在读《破解编码》这本书,我们遇到了一个问题,我们有一个函数可以做O(n*n*n!)工作。书中说这可以用O((n+2)!)来表示。它说O(n*n!)也可以用O((n+1)!)来表示。我看了所有的规则,如果排列,并没有找到任何方法来逻辑上达到那个目的。我的第一步很酷我有O(n^2+n!)现在怎么办?我不知道下一步该采取什么措施。你(我想)已经知道了n!=1*2*3*..*n。 所以n*n*n!=1*2*3*..*n*n*n 当n变得非常大时,向因子中添加1或2会产生显著的递减效果。我不是专

所以我一直在读《破解编码》这本书,我们遇到了一个问题,我们有一个函数可以做O(n*n*n!)工作。书中说这可以用O((n+2)!)来表示。它说O(n*n!)也可以用O((n+1)!)来表示。我看了所有的规则,如果排列,并没有找到任何方法来逻辑上达到那个目的。我的第一步很酷我有O(n^2+n!)现在怎么办?我不知道下一步该采取什么措施。

你(我想)已经知道了
n!=1*2*3*..*n
。 所以
n*n*n!=1*2*3*..*n*n*n

当n变得非常大时,向因子中添加1或2会产生显著的递减效果。我不是专家,但与
O()
有关的是n的幂,或者在我们的例子中是
()中的数字表达式。
这让我们把它缩短为
1*2*3*…*n*(n+1)*(n+2)=(n+2)


最后,
O(n*n*n!)
可以表示为
O((n+2)!)
来计算
x你做
x*(x-1)递归直到
x-1==1
so
x==(x-1)*(x-2)*……*1是O(n!)。因此要做
x*x我们有

(x-0)*(x-1)*…*1
,它需要对递归函数进行一次额外调用(但在开始时,使用大x值),即
(x+1)迭代。类似地,
(x-0)*(x-0)*(x-1)*(x-2)*……*1==x²*x需要
(x+2)要计算的函数求值,因此O((n+2)!)效率。

Hi。欢迎来到StackOverflow。有关SO的问题应在您需要特定编码问题的帮助时提出。在这个问题的情况下,似乎更合适的是考虑过去,寻找答案或在那里发布问题。