更新:抱歉,我忘记将n ^ n放入O()
我的尝试是解决这种递归关系:
T(n) = nT(n-1) +1
T(0) = 1;
使用迭代方法我得到了n ^ n,但我不确定这是否是证明它的方法。
答案 0 :(得分:19)
我假设您要证明函数n!
是集O(n^n)
的元素。这很容易证明:
定义:函数f(n)
是集合O(g(n))
的元素,如果存在c>0
,则m
存在k>m
,以便所有f(k)<=c*g(k)
我们有n!
。
因此,我们必须将n^n
与n! = n * (n-1) * (n-2) * (n-3) * ... * 3 * 2 * 1
n^n = n * n * n * n * ... * n * n * n
进行比较。让我们把它们写在另一个之下:
n!
如您所见,第一行(n^n
)和第二行(n
)右侧都有n! <= n^n
项。如果我们比较这些项目,我们会发现每个项目最多都与第二行中的相应项目一样大。因此c=1
(至少对于n> 5)。
所以,我们可以 - 看看定义 - 比如存在m=5
,以便k>5
存在k! < k^k
,对于所有n!
我们都有O(n^n)
,这证明{{1}}确实是{{1}}的一个元素。
答案 1 :(得分:8)
备注:以下是对原始问题的回答:“证明n!= n ^ n”
我可以很容易地证明它不是真的:取n = 5.
n! = 120
n^n = 3125
答案 2 :(得分:2)
n不是这样! = n ^ n,因此您将无法证明这一点。此外,你的递归关系的解决方案既不是n!或者n ^ n。 (它满足T(1)= 1 * 1 + 1 = 2,既不是1!也不是1 ^ 1.)
你究竟想做什么,为什么?
答案 3 :(得分:0)
代表n==2
,n! = 2 != 4 = n^n
对于n!=2
,(n-1)
除以n!
,但n-1
不划分n^n
(n^n mod n-1 == 1
)
实际的斯特林近似值为n! ~ sqrt(2 Pi n) (n/e)^n
你的数学背景是什么?您是否需要复杂的分析证明或更具组合性的东西?
答案 4 :(得分:0)
n! != n^n
。但是,上面定义的T(n)
序列不是n!
。但它是否等于n^n
?对于n=1
,T(1)
= 1*T(0) + 1
= 1*1 + 1
= 2
但n^n
= 1^1
= 1
。但是,假设您还意味着T(1) = 1
,那么n=1
就等于它们。更进一步,n=2
,然后T(2) = 2*T(1) + 1
= 2*1 + 1
= 3
!= 2^2
。所以我真的不确定你要问的是什么。