哪个函数增长得更快,指数或因子?

dev*_*ish 58 factorial exponential

哪个函数增长得更快,指数(如2 ^ n,n ^ n,e ^ n等)或阶乘(n!)?Ps:我刚读到某个地方,n!增长快于2 ^ n.

Gle*_*hes 102

N!最终比具有常数基数(2 ^ n和e ^ n)的指数增长更快,但是n ^ n比n增长更快!因为基数随着n的增加而增长.

  • @Glen,有没有'n ^ n`的名字? (27认同)
  • @Pacerier n ^ n的名称是超指数 (14认同)
  • 你是对的:http://math.stackexchange.com/questions/55468/how-to-prove-that-exponential-grows-faster-than-polynomial (3认同)
  • @Glen @Pacerier 同样相关的是,`n^n^n...^n` 被称为权力塔,或[tetration](https://en.wikipedia.org/wiki/Tetration) ([沿着相同的行作为加法、乘法和求幂](https://en.wikipedia.org/wiki/Hyperoperation))。因此,“n^n”可以更简单地说为“n”_teterated by_ 2。 (3认同)
  • 快多少?:) (2认同)

Ale*_*eue 55

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

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

第一个之后的每个术语n^n都更大,因此n ^ n将增长得更快.

  • 没有比这更简单的解释了。 (2认同)
  • `n+1` 的每一项都比 `n` 大,但增长速度并不快:) (2认同)

ina*_*vda 6

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
Run Code Online (Sandbox Code Playgroud)

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