在将 [(m + n)^ m] / m!的上限写为 O([n / m] ^ m)时,我考虑过那个 m! = O(m ^ m)。
答案 0 :(得分:2)
您所说的m!
是o(m^m)
。因此,您无法在A = (m+n)^m / m!
中替换它来获得上限!相反,您可以使用斯特林逼近法来获得适当的上限。如我们所见(请参阅here):
m! = \sqrt{2\pi m} (m/e)^m (1 + O(1/m))
通过将A
替换为m!
,可以获得(m/e)^m
的上限。因此:
A < (n+m)^m / (m/e)^m = (e*(n+m)/m)^m = (e * (n/m + 1))^m
如果n > m
,我们知道(n/m + 1)^m = Theta((n/m)^m)
。因此,A \in O(e^m (n/m)^m)
答案 1 :(得分:1)
不是。
原因:在表达式((m + n) m )/ m!中,值为“ m!”。是分母。
在一个分数中,增加分母会使该数字更小。示例:数字4大于3。因此,当放入分母时,1/4小于1/3 * 。
对于小数,要获得更宽松的上限,您可以做两件事:
自从您接近:
借给您更严格的约束,而不是宽松的约束。
*这里的小学数学:将比萨分成四个相等的部分并得到一个切片,而将比萨分为三个相等的部分并得到一个大切片-当仅将其分成3个时,您将获得更多的比萨人。