89

哪个函数增长得更快,指数(如 2^n、n^n、e^n 等)或阶乘(n!)?Ps:我只是在某个地方读到,n!增长速度超过 2^n。

4

4 回答 4

160

嗯!最终比具有恒定基数(2^n 和 e^n)的指数增长得更快,但 n^n 比 n 增长得更快!因为基数随着 n 的增加而增加。

于 2012-07-23T06:38:21.353 回答
114

n! = n * (n-1) * (n-2) * ...

n^n = n * n * n * ...

第一个 in 之后的每一项n^n都较大,因此 n^n 会增长得更快。

于 2016-03-17T15:16:04.497 回答
5

n^n增长大于n!- 对于一个很好的解释,请参阅@AlexQueue 的答案。

对于其他情况,请继续阅读:

阶乘函数确实比指数函数渐近增长,但差异何时开始并不清楚。例如,对于n=5k=10,阶乘5!=120仍然小于10^5=10000。为了找出阶乘函数何时开始变大,我们必须进行一些快速的数学分析。

我们使用斯特林公式和基本的对数操作:

log_k(n!) ~ n*log_k(n) - n*log_k(e)

k^n = n!
log_k(k^n) = log_k(n!)
n*log_k(k) = log_k(n!)
n = log_k(n!)

n ~ n*log_k(n) - n*log_k(e)
1 ~ log_k(n) - log_k(e)
log_k(n) - log_k(e) - 1 ~ 0
log_k(n) - log_k(e) - log_k(k) ~ 0
log_k(n/(e*k)) ~ 0

n/(e*k) ~ 1
n ~ e*k

因此,一旦n达到 的大小的近 3 倍k,阶乘函数将开始变得比指数函数大。对于大多数实际场景,我们将使用 的大值n和 的小值k,因此在实践中,我们可以假设阶乘函数严格大于指数函数。

于 2019-03-22T14:36:56.657 回答
3

我想向您展示一种更加图形化的方法来很容易地证明这一点。我们将使用除法来绘制一个函数,它会很容易地向我们展示这一点。

让我们用一个基本而枯燥的除法函数来解释除法的一个性质。

变量 a 和 b 的除法

随着 a 的增加,对该表达式的评估也会增加。随着 b 减小,该表达式的评估也减小。

使用这个想法,我们可以根据我们期望增加和减少的内容绘制图表,并比较哪个增加更快。

在我们的例子中,我们想知道指数函数是否会比阶乘增长得更快,反之亦然。我们有两种情况,变量指数与变量阶乘的常数,以及变量指数与变量阶乘的变量。

用 Desmos 绘制这些工具(没有隶属关系,它只是一个不错的工具),向我们展示了这一点:

常数到变量指数与变量阶乘的关系图

图1

尽管最初似乎指数表达式增加得更快,但它达到了不再增加得那么快的地步,相反,阶乘表达式增加得更快。

变量到变量指数与变量阶乘的关系图

图2

虽然它最初似乎较慢,但它开始迅速上升超过该点,因此我们可以得出结论,指数必须比阶乘增长得更快。

于 2019-11-06T18:20:15.230 回答