证明:指数函数和阶乘谁增长的更快?

先说结论,阶乘增长速度比指数函数快,也就是说:

\lim_{n \to \infty }\frac{a^n}{n!}=0

可以用简单的指数函数y=4^x的图形和阶乘函数图形做一个对比,可以发现,在自变量取值比较小的时候,指数函数(红色)是大于阶乘的,但是当自变量取值逐渐增加时,阶乘函数后来居上,增长率和数值上远远大于了指数函数。

这个规律是不是对所有整数为底的指数函数都适用呢?不管底数多大,指数函数最终追不上阶乘函数,根据本文开头的结论,答案是肯定的。这里证明以一下:

\boldsymbol{0\leq \frac{a^n}{n!}=\frac{a\cdot a\cdot a \cdot a \cdot \cdot a }{1\cdot 2 \cdot 3 \cdot 4 \cdot \cdot n}=\frac{a\cdot a\cdot a \cdot a \cdot \cdot a }{1\cdot 2 \cdot 3 \cdot 4 \cdot \cdot a}\times \frac{a\cdot a\cdot a \cdot a \cdot \cdot a }{(a+1)\cdot (a+2) \cdot (a+3) \cdot (a+4) \cdot \cdot n}=M\cdot \frac{a\cdot a\cdot a \cdot a \cdot \cdot a }{(a+1)\cdot (a+2) \cdot (a+3) \cdot (a+4) \cdot \cdot n}=}

\boldsymbol{M\cdot \frac{a\cdot a\cdot a \cdot a \cdot \cdot a }{(a+1)\cdot (a+2) \cdot (a+3) \cdot (a+4) \cdot \cdot n}=M\cdot \frac{a}{a+1}\cdot \frac{a}{a+2}\cdot \cdot \frac{a}{n}\leq M\cdot \frac{a}{n}=0}

所以:

\boldsymbol{0\leq \frac{a^n}{n!}\leq 0}

根据夹逼准则:

\boldsymbol{\lim_{n \to \infty }\frac{a^n}{n!}=0}

结论成立。

所有的O(a^n)时间复杂度都可以转换成指数O(2^n)的复杂度,但是O(n!)是一个远大于指数复杂度的算法复杂度,码农所能遇到的最复杂的实际问题应该不会比O(n!)更复杂了,在当今的处理器架构上不具有实际意义。 可能计算性分析中有理论价值,比如TSP旅行商问题的时间复杂度就是O(n!),实际工作中一般不与遇到这样复杂的问题,大部分算法都能在多项式时间内计算完成。

参考文章

数据结构与算法分析(排序,递归,链表)_数据结构的算法分析-CSDN博客


结束

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

papaofdoudou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值